freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] Incomplete cmap table for platform 0 (Apple Unicode)


From: mpsuzuki
Subject: Re: [ft-devel] Incomplete cmap table for platform 0 (Apple Unicode)
Date: Mon, 1 Oct 2007 12:16:48 +0900

Dear Sir,

On Mon, 1 Oct 2007 11:52:19 +0900
"Dmitry Timoshkov" <address@hidden> wrote:
><address@hidden> wrote:
>> So, I think, it's better for Wine to have internal priorities
>> of "prefered" cmap subatble and choose the best cmap subatble
>> by himself. How do you think of?
>
>Wine uses FT_Select_Charmap API to select either FT_ENCODING_UNICODE,
>FT_ENCODING_MS_SYMBOL or FT_ENCODING_APPLE_ROMAN when appropriate.
>So that's actually Freetype's responsibility to choose the best/correct/
>working charmap table in that case.

I see, I was misunderstanding. Now I think your report
says that FT_ENCODING_UNICODE is too rough to choose
the best cmap subtable for Unicode encoding. I guess,
if you can specify Microsoft platform and UCS2 or UCS4
encoding cmap subtable explicitly, it serves your purpose.
Am I understanding correctly? I think it's reasonable
request.

>Yes, Wine can arrange some kind of cmap priorites, what if some of "preferred"
>cmap tables is broken? How an application can decide which cmap table is better
>without digging into internal cmap data? Shouldn't that be a responsibility of
>Freetype to ignore incomplete/broken cmaps, especially since it already parses
>cmap tables and can easily decide which one is better?

As I've shown in previous post, Apple Unicode cmap in the
sample font is NOT broken from the viewpoint of data
structure, I think. To detect "broken" cmap as you say,
it's required to investigate cmap, loca, glyf subtables
content semantically. After checking the all cmap, loca,
glyf subtables, the best cmap subtable would be chosen.
I'm not against the fact that such feature is convenient,
but I'm questionable if it should be built-in feature of
FreeType and should be enabled by default.

Regards,
mpsuzuki




reply via email to

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