PS buglet while handling TT fonts

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

PS buglet while handling TT fonts

Werner LEMBERG

Han-Wen,


after processing xiao-haizi-guai-guai.ly, I see the following in the
/CharStrings dictionary of GBZenKai-Medium:

  /CharStrings 7764 dict dup begin
    /uni0000 0 def
    /uni0000 1 def
    /uni0000 2 def
    ...
    /uni0000 31 def
    /uni0020 32 def
    /uni0021 33 def
    ...

Apparently you don't iterate over the Unicode cmap of this font,
otherwise you would get just a single `/uni0000' entry and not 31.
BTW, later in the CharStrings array there are even more `/uni0000'
entries...


    Werner


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: PS buglet while handling TT fonts

Han-Wen Nienhuys-2
iWerner LEMBERG wrote:

> Han-Wen,
>
>
> after processing xiao-haizi-guai-guai.ly, I see the following in the
> /CharStrings dictionary of GBZenKai-Medium:
>
>   /CharStrings 7764 dict dup begin
>     /uni0000 0 def
>     /uni0000 1 def
>     /uni0000 2 def
>     ...
>     /uni0000 31 def
>     /uni0020 32 def
>     /uni0021 33 def
>     ...
>
> Apparently you don't iterate over the Unicode cmap of this font,
> otherwise you would get just a single `/uni0000' entry and not 31.
> BTW, later in the CharStrings array there are even more `/uni0000'
> entries...

Hmmm. How's current CVS ?  I thought that C++ maps throw an error when
confronted with nonexisting keys.


--

Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
  -- Code for Music Notation
http://www.lilypond-design.com



_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: PS buglet while handling TT fonts

Werner LEMBERG
> > Apparently you don't iterate over the Unicode cmap of this font,
> > otherwise you would get just a single `/uni0000' entry and not 31.
> > BTW, later in the CharStrings array there are even more `/uni0000'
> > entries...
>
> Hmmm. How's current CVS ?  I thought that C++ maps throw an error
> when confronted with nonexisting keys.

Now it works fine, thanks.  I've even controlled gs with strace to be
sure that no CJK system fonts are loaded :-)


    Werner


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: PS buglet while handling TT fonts

Han-Wen Nienhuys-2
Werner LEMBERG wrote:

>>> Apparently you don't iterate over the Unicode cmap of this font,
>>> otherwise you would get just a single `/uni0000' entry and not 31.
>>> BTW, later in the CharStrings array there are even more `/uni0000'
>>> entries...
>> Hmmm. How's current CVS ?  I thought that C++ maps throw an error
>> when confronted with nonexisting keys.
>
> Now it works fine, thanks.  I've even controlled gs with strace to be
> sure that no CJK system fonts are loaded :-)
>

Hrmurgh. Now the CFF CJK OTF fonts are barfing once again. This trick
should only be used if we have a TTF font, right?

--

Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
  -- Code for Music Notation
http://www.lilypond-design.com



_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: PS buglet while handling TT fonts

Werner LEMBERG

> Hrmurgh. Now the CFF CJK OTF fonts are barfing once again.  This
> trick should only be used if we have a TTF font, right?

Well, it is needed for Type 42 fonts...


    Werner


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel