Hello, I'm contacting you to discuss a patch for the bug #325598 (and the dozen bugs merged to it).
I'm CCing: * Ian Jackson You worked on the same issue: https://launchpad.net/distros/ubuntu/+source/gs-common/+bug/6614 I would be interrested by your opinion. * Arthur Marsh In http://bugs.debian.org/325722, you mentionned a consequence of this bug (a font can't be used for printing with Abiword - not only a warning during installation) Can you stil reproduce this bug? Can you try this patch? * [EMAIL PROTECTED] * [EMAIL PROTECTED] * [EMAIL PROTECTED] Maybe you have a better idea of what is CIDSUpllement, and maybe you know if it's wrong to ask font maintainers to specify it in the defoma hint file. You can also maybe help for testing. Currently, gs.defoma tries to detect the supplement by looking at other fonts installed on the box. I don't think this is correct, and I don't think the supplement can be guessed. I don't really know what this CIDSupplement value is exactly, but according to: http://partners.adobe.com/public/developer/en/font/5093.Adobe-Korea1-2.pdf "Adobe-Korea1 Supplement 0" provides CID 0 through 9332, "Adobe-Korea1 Supplement 1" adds support for CID 9333 through 18154, "Adobe-Korea1 Supplement 2" adds support for CID 18351 through 18351. http://partners.adobe.com/public/developer/en/font/5080.Adobe-CNS1-4.pdf "Adobe-CNS1 Supplement 0" provides CID 0 through 14098, "Adobe-CNS1 Supplement 1" adds support for CID 14099 through 17407, "Adobe-CNS1 Supplement 2" adds support for CID 17408 through 17600, "Adobe-CNS1 Supplement 3" adds support for CID 17601 through 17605 and 17606 through 18784 and 18785 through 18845, "Adobe-CNS1 Supplement 4" adds support for CID 18846 through 18964. And according to: grep -ri Count /usr/share/fonts/cmap/ /usr/share/fonts/cmap/adobe-cns1/Adobe-CNS1-0:/CIDCount 14099 def /usr/share/fonts/cmap/adobe-cns1/Adobe-CNS1-1:/CIDCount 17408 def /usr/share/fonts/cmap/adobe-cns1/Adobe-CNS1-2:/CIDCount 17601 def /usr/share/fonts/cmap/adobe-cns1/Adobe-CNS1-3:/CIDCount 18846 def /usr/share/fonts/cmap/adobe-cns1/Adobe-CNS1-4:/CIDCount 18965 def /usr/share/fonts/cmap/adobe-korea1/Adobe-Korea1-0:/CIDCount 9333 def /usr/share/fonts/cmap/adobe-korea1/Adobe-Korea1-1:/CIDCount 18155 def /usr/share/fonts/cmap/adobe-korea1/Adobe-Korea1-2:/CIDCount 18352 def (packages cmap-adobe-* from non-free) I could guess that the higher the supplement is, the more CID are provided. (but if Supplement 0 and SUpplement 4 are installed on one box, it is wrong to assume that afont installed afterwards will have an higher supplement value). What I propose in my patch is to let the font maintainers specify the CIDSupplement value in the defoma hint file. I currently use a null value and display a warning if none is specified. We could also just stop installing the font, or just use 0 without any warnings. Any comments? Thanks in advance, -- Nekral
diff -rauN ../orig/gs-common-0.3.9/debian/gs.defoma ./gs-common-0.3.9/debian/gs.defoma --- ../orig/gs-common-0.3.9/debian/gs.defoma 2005-08-17 15:12:27.000000000 +0200 +++ ./gs-common-0.3.9/debian/gs.defoma 2006-09-13 20:57:21.000000000 +0200 @@ -92,20 +92,22 @@ print FF " ;\n"; # for gs8 - ## FIXME: the font packages should probably provides - ## a CIDSupplement information where the fonts - ## actually supports. - @cmaplist = defoma_id_get_font($IdCmap, 'installed'); - foreach $j (@cmaplist) { - @ch = split(/ +/, $IdCmap->{7}->[$j]); - if (!defined($hh{$ch[1]}) || - $hh{$ch[1]} < $ch[9]) { - $hh{$ch[1]} = $ch[9]; - } - } if ($c eq 'truetype-cjk') { - # FIXME: need to support the sub font id for the collection. - print FFFF '/', $Id->{0}->[$i], ' << /FileType /TrueType /Path (', $f, ') /SubfontID ', '0', ' /CSI [(', $h[6], ') ', $hh{$h[6]}, "] >> ;\n"; + my @hints = defoma_id_get_hints( $Id, $i ); + my $cidsupplement; + while (@hints) { + my $var = shift @hints; + if ($var eq "--CIDSupplement") { + $cidsupplement = shift @hints; + last; + } + } + unless (defined $cidsupplement) { + warn "No CIDSuplement specified, defaulting to 0.\n"; + $cidsupplement = 0; + } + # FIXME: need to support the sub font id for the collection. + print FFFF '/', $Id->{0}->[$i], ' << /FileType /TrueType /Path (', $f, ') /SubfontID ', '0', ' /CSI [(', $h[6], ') ', $cidsupplement, "] >> ;\n"; } } }