Your message dated Tue, 18 Aug 2009 23:47:07 +0000
with message-id <e1mdyor-0004ec...@ries.debian.org>
and subject line Bug#285653: fixed in defoma 0.11.10-1
has caused the Debian Bug report #285653,
regarding defoma: Use Font::FreeType instead of Freetype.pm
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
285653: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=285653
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: defoma
Version: 0.11.10-0.2
Severity: important
Tags: patch

libhint-truetype.pl isn't working in testing right know (see #285653).
The attached libhint-truetype.pl works with libfont-freetype-perl to 
cure this problem. Although some information, like „charset“, is missing
the generated hintfile is usable. I couldn't test multi-faced fonts, 
alas. 

Please put the attached libhint-truetype.pl into defoma, to make debian
work with truescript fonts again.

libft-perl shoul be dropped from the recomendations and libfont-freetype
-perl added.

Regards

Niki

-- System Information:
Debian Release: 5.0
  APT prefers testing
  APT policy: (990, 'testing'), (400, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages defoma depends on:
ii  dialog                    1.1-20080316-1 Displays user-friendly dialog boxe
ii  file                      4.26-1         Determines file type using "magic"
ii  perl                      5.10.0-19      Larry Wall's Practical Extraction 
ii  whiptail                  0.52.2-11.3    Displays user-friendly dialog boxe

Versions of packages defoma recommends:
pn  libft-perl                    <none>     (no description available)

Versions of packages defoma suggests:
ii  defoma-doc                   0.11.10-0.2 Debian Font Manager documentation
pn  dfontmgr                     <none>      (no description available)
ii  psfontmgr                    0.11.10-0.2 PostScript font manager -- part of
ii  x-ttcidfont-conf             31          TrueType and CID fonts configurati

-- no debconf information
my @ENCODING;
my @ID_LANG;
my %ID_Region;

BEGIN {
    eval ("use Font::FreeType");
    exitfunc(255, "libft-perl is needed.") if ($@ ne '');

    @ENCODING = qw(Symbol Unicode ShiftJIS GB2312 BIG5 WanSung Johab);

    @ID_LANG =
        qw(- Arabic Bulgarian Catalan Chinese Czech Danish German
           Greek English Spanish Finnish French Hebrew Magyar Icelandic
           Italian Japanese Korean Dutch Norwegian Polish Portuguese -
           Romania Russian SerboCroatian Slovak Albanian Swedish Thai Turkish
           ? Indonesian Ukrainian Byelorussian Slovenian Estonian Latvian 
Lithuanian
           - Persian Vietnamese Armenian Azerbaijan Basque - Macedonian
           - - - - - - Afrikaans ?
           ? Hindi - - - - Malay Kazak
           - Swahili - Uzbek TarTar Bengali Punjabi -
           - Tamil - - - - - Sanskrit);
    
    %ID_Region =
        ( 'Chinese' => 'Taiwan China HongKong Singapore Macau',
          'SerboCroatian' => 'Croatian Serb.Roman Serb.Cyrillic',
          'Azerbaijan' => 'Roman Cyrillic',
          'Uzbek' => 'Roman Cyrillic',
          );
}

sub get_standard_charset {
    my $charset = shift;
    my $i;

    open(F, "$DEFOMA_TEST_DIR/etc/defoma/loc-cset.data") || return '';

    while (<F>) {
        my $line = $_;
        chomp($line);
        my @list = split(' ', $line);

        next if (@list < 2);

        $list[0] =~ s/\*/\.\*/g;
        $list[0] =~ s/\?/\./g;

        if ($charset =~ /^($list[0])$/) {
            close F;
            return $list[1];
        }
    }

    close F;
    return '';
}

my $Face;

sub freetype_init {
    my $fontpath = shift;
    my $facenum;

    undef $Face;
        
    $Face=Font::FreeType->new->face($fontpath);
    $facenum=$Face->number_of_faces;

    $facenum = 1 if ($facenum == 0);

    return $facenum;
}

sub freetype_term {
  #FreeType::TT_Done_FreeType($Engine);
}

sub sethint_truetype {
    my $font = shift;
    my $fontfile = $font;
    $fontfile =~ s/.*\///;
    my $text;

    my $facenum = freetype_init($font);

    if ($facenum > 1) {
        $text = <<EOF
$fontfile is a TrueType Collection, which has multiple faces in a single 
font.  Answer "Yes" if you want to specify hints for every face, otherwise
answer "No" and specify hints only for the first face.  In most cases, each
face has similar look, so only the first face is needed for regular use,
which means "No" is the recommended answer.
$fontfile has $facenum faces.
EOF
    ;
        $facenum = 1 if (yesnobox($text));
    }

    my $hints = ($facenum > 1) ? "--FaceNum $facenum" : '';

    for (my $j = 0; $j < $facenum; $j++) {
        my $fname = ($facenum > 1) ? "$fontfile,face\#$j" : "$fontfile";
        my $cnt;

        $Face=Font::FreeType->new->face($font, ("index" => $j));
        $cnt = 1; #One name

        my %langs = ();
        my @family_list = ();
        my @subfamily_list = ();
        my @psfontname_list = ();
        my @encoding_list = ();
        my @foundry_list = ();

        push(@family_list, $Face->family_name);
        push(@subfamily_list,$Face->style_name);
        push(@psfontname_list, $Face->postscript_name);
        #push(@foundry_list, $Face->
        

        $text = <<EOF
Choose the Family of $fname.
* Family of the font is similar to a family name of a person. A font
* often has some decorated derivative fonts, but all of the derivative
* fonts and its original font share a common name. Family is exactly
* the shared common name. For example, Times-Roman has three decorated
* versions, Times-Italic, Times-Bold and Times-BoldItalic, and Family
* of them is Times.
EOF
    ;
        my $family;
        my $subfamily = '';
        my $psfontname;

        foreach $i (@psfontname_list) {
            $psfontname = $i;
            $psfontname =~ s/-.*//;

            push(@family_list, $psfontname) unless (grep($_ eq $psfontname,
                                                         @family_list));
        }
        
        $family = input_menu_q("Input the Family of $fname manually.", '',
                               '[^ \t]', 0, '<None>', $text, @family_list,
                               '<None>');
        return if ($result != 0);

        if (@subfamily_list > 1) {
            
            $text = <<EOF
Choose the Subfamily of $fname.
* Subfamily is just a TrueType-specific information and only used for
* generating standard hints such as Weight and Shape.
EOF
    ;
            $subfamily = input_menu_q('', '', '', 0, '', $text,
                                      @subfamily_list);
            return if ($result != 0);
        } elsif (@subfamily_list == 1) {
            $subfamily = $subfamily_list[0];
            msgbox_q("Subfamily of $fname is $subfamily.");
        } else {
            $subfamily = '';
        }

        $psfontname = "$family-$subfamily";
        $psfontname =~ s/[^a-zA-Z0-9-]//g;
        push(@psfontname_list, $psfontname) unless(grep($_ eq $psfontname,
                                                        @psfontname_list));

        $text = "the PostScript FontName of $fname";
        $psfontname = input_menu_q("Input $text manually.", $psfontname,
                                   '[a-zA-Z0-9-]', 0, '<None>',
                                   "Choose $text.", @psfontname_list,
                                   '<None>');
        return if ($result != 0);

        my $foundry = '';
        if (@foundry_list > 1) {
            $foundry = input_menu_q("Input the Foundry of $fname manually.",
                                    '', '[^ \t]', 1, '<None>',
                                    "Choose the Foundry of $fname.",
                                    @foundry_list, '<None>');
            return if ($result != 0);
        } elsif (@foundry_list == 1) {
            $foundry = $foundry_list[0];
            msgbox_q("Foundry of $fname is $foundry.");
        } else {
            $text = "No Foundry information is found in $fname.\n";
            $text .= "Please input the Foundry manually.";
            $foundry = input_menu_q($text, '', '[^ \t]', 1);
        }

        my $encoding;
        if (@encoding_list > 1) {
            $text = <<EOF
Unfortunately, multiple encodings are registered in the information
record of $fname. It means only one of them is actually used to 
encode the font. Please choose the correct one if you know which is 
correct, otherwise choose Unicode. (In most cases Unicode is the correct 
encoding.)
EOF
    ;
            $encoding = input_menu_q('', 'Unicode', '', 0, '', $text,
                                     @encoding_list);
            return if ($result != 0);
        } elsif (@encoding_list == 0) {
            $text = "No encoding information is registered.";
            $text .= " Assuming that the encoding is Unicode.";
            msgbox_q($text);
            $encoding = 'Unicode';
        } else {
            $encoding = $encoding_list[0];
        }

        my %location = ();
        my $loc = '';

        foreach $i (keys(%langs)) {
            my $lang_id = $i & 0xff;
            my $region_id = ($i & 0xff00) >> 11;
            
            if ($lang_id > @ID_LANG || $ID_LANG[$lang_id] =~ /^[\?-]$/) {
                $loc = sprintf("Unknown(0x%02x)", $lang_id);
            } else {
                $loc = $ID_LANG[$lang_id];
                if (exists($ID_Region{"$loc"})) {
                    my @region = split(' ', $ID_Region{"$loc"});
                
                    $loc .= '-';
                    $loc .= $region[$region_id];
                }
            }

            $location{$loc} = 1;
        }

        $text = <<EOF
Mark the Locations of $fname.
* Location represents which language and which region characters of a font
* belongs to. This information is recorded in a TrueType font file in
* number as Language ID, and converted to string as <Language>-<Region> or 
* just <Language> format by this program.
EOF
    ;
        my @list = keys(%location);
        if (@list > 1) {
            $loc = input_checklist_q('Modify the Locations if necessary.',
                                     join(' ', @list), '.', 1, $text, @list);
            return if ($result != 0);
        } elsif (@list == 1) {
            $loc = $list[0];
            msgbox_q("Location of $fname is:\n $loc");
        } else {
            msgbox_q('No Language ID(used for Location hint) is found.');
            $loc = '';
        }

        my %charset = ();
        my $cset;
        @list = split(' ', $loc);
        foreach $i (@list) {
            $cset = get_standard_charset($i);
            
            if ($cset eq '') {
                $text = <<EOF
No Standard Charset for $i is found in
/etc/defoma/loc-cset.data. Input it manually, or just press return.
EOF
    ;
                $cset = input_menu_q($text, '', '.', 1, '');
                return if ($result != 0);
            }

            $charset{$cset} = undef;
        }

        $cset = join(' ', sort { $a cmp $b } keys(%charset));
        $cset =~ s/,/ /g;

        msgbox_q("Standard Charset of $fname is:\n$cset");

        my $generalfamily = input_generalfamily($fname, $family);
        return if ($result != 0);
        
        my $weight = 'Medium';
        my $slant = 'Upright';
        
        $weight = 'Bold' if ($subfamily =~ /Bold/);
        $weight = 'Light' if ($subfamily =~ /Light/);
        $slant = 'Oblique Italic' if ($subfamily =~ /Italic/);
        $slant = 'Oblique' if ($subfamily =~ /Oblique/);
        
        $subfamily =~ s/^(Bold|Light|Italic|Oblique)$//g;
        $subfamily =~ s/\s+/ /g;
        $subfamily =~ s/^\s+//;
        $subfamily =~ s/\s+$//;

        $weight = input_weight($fname, $weight);
        return if ($result != 0);

        my $width = ($Face->is_fixed_width) ? 'Fixed' : 'Variable';

        my $shape = $slant;
        $shape .= " $subfamily" if ($subfamily ne '');
        $shape = input_shape($fname, $shape);
        return if ($result != 0);

        my $alias = input_alias($fname, '');
        return if ($result != 0);

        my $priority = input_priority($fname, 20);
        return if ($result != 0);

        my $m = ($j > 0) ? $j : '';

        $hints .= " --Family$m $family --FontName$m $psfontname";
        $hints .= " --Encoding$m $encoding";
        
        $hints .= " --Location$m $loc" if ($loc =~ /\S/);
        $hints .= " --Charset$m $cset" if ($cset =~ /\S/);
        $hints .= " --GeneralFamily$m $generalfamily"
            if ($generalfamily =~ /\S/);
        $hints .= " --Weight$m $weight" if ($weight =~ /\S/);
        $hints .= " --Width$m $width" if ($width =~ /\S/);
        $hints .= " --Shape$m $shape" if ($shape =~ /\S/);
        $hints .= " --Alias$m $alias" if ($alias =~ /\S/);
        $hints .= " --Foundry$m $foundry" if ($foundry =~ /\S/);
        $hints .= " --Priority$m $priority";
    }
    
    freetype_term();

    return $hints;
}

1;

--- End Message ---
--- Begin Message ---
Source: defoma
Source-Version: 0.11.10-1

We believe that the bug you reported is fixed in the latest version of
defoma, which is due to be installed in the Debian FTP archive:

defoma-doc_0.11.10-1_all.deb
  to pool/main/d/defoma/defoma-doc_0.11.10-1_all.deb
defoma_0.11.10-1.dsc
  to pool/main/d/defoma/defoma_0.11.10-1.dsc
defoma_0.11.10-1.tar.gz
  to pool/main/d/defoma/defoma_0.11.10-1.tar.gz
defoma_0.11.10-1_all.deb
  to pool/main/d/defoma/defoma_0.11.10-1_all.deb
psfontmgr_0.11.10-1_all.deb
  to pool/main/d/defoma/psfontmgr_0.11.10-1_all.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 285...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Don Armstrong <d...@debian.org> (supplier of updated defoma package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

Format: 1.8
Date: Tue, 18 Aug 2009 16:15:28 -0700
Source: defoma
Binary: defoma defoma-doc psfontmgr
Architecture: source all
Version: 0.11.10-1
Distribution: unstable
Urgency: low
Maintainer: Debian QA Group <packa...@qa.debian.org>
Changed-By: Don Armstrong <d...@debian.org>
Description: 
 defoma     - Debian Font Manager -- automatic font configuration framework
 defoma-doc - Debian Font Manager documentation
 psfontmgr  - PostScript font manager -- part of Defoma, Debian Font Manager
Closes: 285653 514635
Changes: 
 defoma (0.11.10-1) unstable; urgency=low
 .
   * QA upload.
   * Fix dependency on libftp-perl (Closes: #514635, #285653)
Checksums-Sha1: 
 f9db9d4509dc66dcf2891b9473ccbf755181724f 771 defoma_0.11.10-1.dsc
 f2d681e7001940326e19eb0a469118df48731614 151888 defoma_0.11.10-1.tar.gz
 bbd7276884d11ac06e6532b972ee14b4f5ddaeb6 99066 defoma_0.11.10-1_all.deb
 4a1f598ce68993047920be2d7a833ae020722531 63130 defoma-doc_0.11.10-1_all.deb
 416666caaae0493b04587fad966a218d67f1dd36 22330 psfontmgr_0.11.10-1_all.deb
Checksums-Sha256: 
 fee0338ba0dcbd60614bf18a2c78a49f2f091d9e77283a80c60aa1002501e605 771 
defoma_0.11.10-1.dsc
 e0ec0c344547be91365b6f6ad5cd48c9b1b5cd2c67cc04029deaec65bf6f78f0 151888 
defoma_0.11.10-1.tar.gz
 f35e257f1dc27dd44a51824866d6d36f56611c098c397b15194a938583bdb3b4 99066 
defoma_0.11.10-1_all.deb
 35f1d563a10177ceb07036d96d4c58dd158c53bbe230a6a7099fdba7ab6860b5 63130 
defoma-doc_0.11.10-1_all.deb
 fd3b46ac48aad2a5762cd19503b2f80f777170f074867dd03c1ce8cff49275b2 22330 
psfontmgr_0.11.10-1_all.deb
Files: 
 1d1ff1d4dc1d29aae2a258a598ba5566 771 admin optional defoma_0.11.10-1.dsc
 935931bf4e920170690632210f6ffa86 151888 admin optional defoma_0.11.10-1.tar.gz
 cf28125a3280cd1e0fc9421c1696cd04 99066 admin optional defoma_0.11.10-1_all.deb
 433bd8c8bcfc9862d559601c711b9353 63130 doc optional 
defoma-doc_0.11.10-1_all.deb
 2fc5d42361b59c7b9d9c2c6e5e072ae7 22330 admin optional 
psfontmgr_0.11.10-1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKizyGgcCJIoCND9ARAyH2AKClQ7cEWdZ0fTXGnkQGd5MybTKAmwCfdEYT
WeBiIyxpIKBTmtDzkrnd6DI=
=xyAG
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to