freetype-devel
[Top][All Lists]
Advanced

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

[Devel] Re: Request about font name problem


From: Owen Taylor
Subject: [Devel] Re: Request about font name problem
Date: Wed, 27 Mar 2002 14:37:15 -0500 (EST)
User-agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/21.1

KUSANO Takayuki <address@hidden> writes:

> At Wed, 27 Mar 2002 11:38:48 -0500 (EST),
> Owen Taylor wrote:
> > What would be needed to debug this is the complete list of names in
> > the font and how they are tagged. To do this, what you'd need to do is
> > modify Get_Name() in src/sfnt/sfobjs.c to print out, for each name
> > record matching nameid:
> > 
> >  rec->string
> >  rec->platformID
> >  rec->languageID
> >  rec->encodingID
> > 
> > Then run ftdump on the font and see what the debug output shows.
> 
>   Okay, I hacked sfobjs.c and got list of names. Result is attached.
> 
> > >   This table show that 2.0.9 is good. But some fonts kill ftdump
> > >   by segv.
> > That's most likely an unrelated problem. It would be good to get it
> > fixed, though. :-) Maybe you could provide a backtrace in gdb
> > of the segfault?
> 
>   I'll try this later.
> 
>   KUSANO Takayuki <URL:http://www.asahi-net.or.jp/~AE5T-KSN/>
> 
> >>>> Start Output of ftdump with hacked sfobjs.c

Extracting the 4 unique family names I could find, annotating with 
interpretation
of the constants:

No. 1
  platformID: 1        [Macintosh]
  languageID: 0 (0x0)  [English]
  encodingID: 0        [Roman]
      nameID: 1

      string: %82 'c' %82 'e' %82 'f' %95 %bd %90 %ac %96 %be %92 %a9 %91 %cc 
'W' '7' 

This one looks misencoded. This is Japanese/Shift_JIS, but tagged as 
"English/Roman"

No. 9
  platformID: 1        [Macintosh]
  languageID: 11 (0xb) [Japanese]
  encodingID: 1        [Japanese]
      nameID: 1
      string: %82 'c' %82 'e' %82 'f' %95 %bd %90 %ac %96 %be %92 %a9 %91 %cc 
'W' '7' 

This is Japanese/Shift_JIS, correctly tagged.

No. 16
  platformID: 3             [Windows]
  languageID: 1033 (0x409)  [English United States]
  encodingID: 1             [Unicode]
      nameID: 1
      string: %00 'D' %00 'F' %00 'G' %00 'H' %00 'S' %00 'M' %00 'i' %00 'n' 
%00 'c' %00 'h' %00 'o' %00 '-' %00 'W' %00 '7' 

The English name, correctly tagged.

No. 24
  platformID: 3             [Windows]
  languageID: 1041 (0x411)  [Japanese Japan]
  encodingID: 1             [Unicode]
      nameID: 1
      string: %ff '$' %ff '&' %ff ''' '^' 's' 'b' %10 'f' %0e 'g' %1d 'O' 'S' 
%00 'W' %00 '7' 

The Japanese name, encoded as Unicode.

Looking at this, I have no idea why the code in FreeType CVS isn't working; the 
check 

 ( rec->languageID & 0x3FF ) == 0x009 

Should have caught No. 16, and it should have used that name, not No. 24.

Maybe David has some idea.

Thanks,
                                        Owen



reply via email to

[Prev in Thread] Current Thread [Next in Thread]