[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#407204: marked as done ([freetype1-tools] ftstrpnm should work with non-ASCII input)



Your message dated Tue, 11 Sep 2007 02:02:02 +0000
with message-id <E1IUv4k-0000fi-NT@ries.debian.org>
and subject line Bug#407204: fixed in freetype1 1.4pre.cvs20060210-1
has caused the attached Bug report 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 I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: freetype1-tools
Version: 1.4pre.20050518-0.5
Severity: normal
Tags: patch

I just discovered the ftstrpnm tool which is very useful for testing
font files without the need of installing them; unfortunately input is
limited to ASCII chars. The attached patch extends the support to wide
chars: the patch is less invasive as possible and I reckon there's
still space for loads of improvements.

regards,
Davide


--- test/ftstrpnm.c	2005-12-23 02:33:21.000000000 +0100
+++ test/ftstrpnm.c	2007-01-16 19:59:15.000000000 +0100
@@ -17,6 +17,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <locale.h>
 
 #include "common.h"
 #include "freetype.h"
@@ -175,7 +176,7 @@
 
   /* glyph management */
 
-  static void  Load_Glyphs( char*  txt, int  txtlen )
+  static void  Load_Glyphs( wchar_t*  txt, int  txtlen )
   {
     unsigned short  i, n, code, load_flags;
     unsigned short  num_glyphs = 0, no_cmap = 0;
@@ -224,8 +225,8 @@
 
     for ( i = 0; i < txtlen; ++i )
     {
-      unsigned char  j = txt[i];
 
+      wchar_t  j = txt[i];
 
       if ( TT_VALID( glyphs[j] ) )
         continue;
@@ -311,7 +312,7 @@
 
   /* rasterization stuff */
 
-  static void  Init_Raster_Areas( const char*  txt, int  txtlen )
+  static void  Init_Raster_Areas( wchar_t*  txt, int  txtlen )
   {
     int                  i, upm, ascent, descent;
     TT_Face_Properties   properties;
@@ -333,16 +334,16 @@
 
     for ( i = 0; i < txtlen; ++i )
     {
-      unsigned char  j = txt[i];
 
+      wchar_t  j = txt[i];
 
       if ( !TT_VALID( glyphs[j] ) )
         continue;
 
       TT_Get_Glyph_Metrics( glyphs[j], &gmetrics );
       pnm_width += gmetrics.advance / 64;
-    }
 
+    }
     Init_Raster_Map( &bit, pnm_width, pnm_height );
     Clear_Raster_Map( &bit );
 
@@ -392,7 +393,7 @@
   }
 
 
-  static void  Render_All_Glyphs( char*  txt, int  txtlen )
+  static void  Render_All_Glyphs( wchar_t*  txt, int  txtlen )
   {
     int               i;
     TT_F26Dot6        x, y, adjx;
@@ -404,7 +405,7 @@
 
     for ( i = 0; i < txtlen; i++ )
     {
-      unsigned char  j = txt[i];
+      wchar_t  j = txt[i];
 
       if ( !TT_VALID( glyphs[j] ) )
         continue;
@@ -445,6 +446,9 @@
     char      *txt, *filename;
     TT_Error  error;
 
+    wchar_t *wp;
+
+    setlocale(LC_ALL, "");
 
     /* Parse options */
 
@@ -498,7 +502,8 @@
     else
       txt = "The quick brown fox jumps over the lazy dog";
 
-    txtlen = strlen( txt );
+    wp = (wchar_t *)malloc( strlen(txt) * sizeof(wchar_t) );
+    txtlen = mbstowcs(wp, txt, strlen(txt) * sizeof(wchar_t));
 
     /* Initialize engine and other stuff */
 
@@ -507,12 +512,12 @@
       Panic( "Error while initializing engine, code = 0x%x.\n", error );
 
     Init_Face( filename );
-    Load_Glyphs( txt, txtlen );
-    Init_Raster_Areas( txt, txtlen );
 
+    Load_Glyphs( wp, txtlen );
+    Init_Raster_Areas( wp, txtlen );
     /* Do the real work now */
+    Render_All_Glyphs( wp, txtlen );
 
-    Render_All_Glyphs( txt, txtlen );
     Dump_Raster_Map( &bit, stdout );
 
     /* Clean up */

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Source: freetype1
Source-Version: 1.4pre.cvs20060210-1

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

freetype1-tools_1.4pre.cvs20060210-1_i386.deb
  to pool/main/f/freetype1/freetype1-tools_1.4pre.cvs20060210-1_i386.deb
freetype1_1.4pre.cvs20060210-1.diff.gz
  to pool/main/f/freetype1/freetype1_1.4pre.cvs20060210-1.diff.gz
freetype1_1.4pre.cvs20060210-1.dsc
  to pool/main/f/freetype1/freetype1_1.4pre.cvs20060210-1.dsc
freetype1_1.4pre.cvs20060210.orig.tar.gz
  to pool/main/f/freetype1/freetype1_1.4pre.cvs20060210.orig.tar.gz
libttf-dev_1.4pre.cvs20060210-1_i386.deb
  to pool/main/f/freetype1/libttf-dev_1.4pre.cvs20060210-1_i386.deb
libttf2_1.4pre.cvs20060210-1_i386.deb
  to pool/main/f/freetype1/libttf2_1.4pre.cvs20060210-1_i386.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 407204@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Anthony Fok <foka@debian.org> (supplier of updated freetype1 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 ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Tue, 11 Sep 2007 08:43:02 +0800
Source: freetype1
Binary: libttf2 freetype1-tools libttf-dev
Architecture: source i386
Version: 1.4pre.cvs20060210-1
Distribution: unstable
Urgency: low
Maintainer: Anthony Fok <foka@debian.org>
Changed-By: Anthony Fok <foka@debian.org>
Description: 
 freetype1-tools - Bundled tests, demos and tools for FreeType 1
 libttf-dev - Old FreeType 1 development files (static library and headers)
 libttf2    - Old FreeType 1 TrueType font engine, shared library files
Closes: 200796 395686 405377 407204 432579
Changes: 
 freetype1 (1.4pre.cvs20060210-1) unstable; urgency=low
 .
   * Old maintainer adopting this package again.  :-)  (Closes: #432579)
   * New upstream version from CVS. Changes are in freetype1-contrib only:
      - Extended Unicode.sfd to cover characters beyond BMP (Closes: #405377)
      - Added HKSCS.sfd
   * Applied Davide Viti's patch which extends ftstrpnm for non-ASCII input.
     (Closes: #407204)
   * The binary-indep target was empty and was not listed as .PHONY.
     Fixed.  (Closes: #395686)
   * Revised package description to make it more concise and clear
     about libfreetype6-dev superceding libttf2-dev.  (Closes: #200796)
   * Acknowledged NMU patches.  Thank you very much!
   * Use dpatch to maintain patches.
   * [07_type-punned.dpatch]: Inserted intermediate (void*) cast to silence
         GCC "dereferencing type-punned pointer will break strict-aliasing
         rules" warnings.
   * [98_configure_in.dpatch]: Updated configure.{in,ac}, Makefile.in and net.m4
         for newer Autoconf.  Also changed 'test "x$CC" = xgcc' to
         'test "x$GCC" = yes'
   * [99_autogen.dpatch]: My try at a dpatch-based autogen to keep configure
         scripts up-to-date while keeping the Debian .diff.gz small.
         See /usr/share/doc/autotools-dev/README.Debian.gz for details.
   * Upgraded Standards-Version from 3.6.2 to 3.7.2.
   * Migrated from dh_movefiles to dh_install.
   * Fixed Lintian warnings:
      - W: freetype1 source: debian-rules-ignores-make-clean-error
      - W: freetype1 source: substvar-source-version-is-deprecated libttf-dev
Files: 
 36c846ed0a390efe09c93744c7934b59 804 oldlibs optional freetype1_1.4pre.cvs20060210-1.dsc
 a5301032506aa03692b95a28dc87598d 1455880 oldlibs optional freetype1_1.4pre.cvs20060210.orig.tar.gz
 265fc040187331613f2c2d172f0891f8 25908 oldlibs optional freetype1_1.4pre.cvs20060210-1.diff.gz
 4b8d4127073192e5cc076024ae3295b8 153002 oldlibs optional libttf2_1.4pre.cvs20060210-1_i386.deb
 9149874ded4c8642bccebf87b799798c 462392 oldlibs extra libttf-dev_1.4pre.cvs20060210-1_i386.deb
 7080e1ea4bd10943508bc08fbb636731 493400 utils optional freetype1-tools_1.4pre.cvs20060210-1_i386.deb

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

iD8DBQFG5eb1La8qZm1n95ARAp1HAJ9Ca9uB6d+RslSBOqwaja4mguHy5QCcCNPz
8GNCdTGthsy9z8oKnfk7NFc=
=av2U
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: