freetype
[Top][All Lists]
Advanced

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

On FT_Select_Charmap Re: [Freetype] CIDFont support


From: 山内 英敏
Subject: On FT_Select_Charmap Re: [Freetype] CIDFont support
Date: Sat, 13 Apr 2002 14:11:36 +0900 (JST)

Hello,

From: Juliusz Chroboczek <address@hidden>
Subject: Re: [Freetype] CIDFont support
Date: 11 Apr 2002 17:15:31 +0100

> >> Why that ? I thought that this could be handled through a FT_Attach_File
> >> or FT_Attach_Stream call,
> 
> YH> Yes.  There are some reasons.
> 
> YH> 1.  cmap->encoding is not enough to handle CIDCMap.

The CMap(CIDCMap as I said) is more complex than FT_Charmap.

When we use a CMap, we must specify charcter set, encoding and text direction.
But FT_Select_Charmap selects a charmap by encoding only.

For example, UniJIS-UCS-H and UniJIS-UCS-V are CMaps with
ft_encoding_unicode.  The formar is horizontal and the latter is
vertical.

---
FT_Attach_File(face, "UniJIS-UCS-H");
FT_Attach_File(face, "UniJIS-UCS-V");

FT_Select_Charmap(face, ft_encoding_unicode);
---

Under such circumstance, I do not know which ft->charmap shuold be stored.
Moreover, there are many CMaps with ft_encoding_sjis as bellow.

---
RKSJ-H(|V), 83pv-RKSJ-H, 90pv-RKSJ-H(|V), 90ms-RKSJ-H(|V),
90msp-RKSJ-H(|V), 78ms-RKSJ-H(|V), Add-RKSJ-H(|V) and Ext-RKSJ-H(|V).
---

On the other hand, we can use CMaps which encoding are not defined in
freetype.h, (e.g. EUC-H).  And we can define private CMaps.  But there
are no way to select them without to access internal CMap structure.
It is not only a problem on the (t1)cid driver but also on the pcf
drivers and the winfonts drivers.

(snip)
> On the other hand, I agree with you that it may be difficult to
> describe an arbitrary CMap in terms of Unicode as FreeType usually
> does.  But that wouldn't make sense -- only Unicode CMaps should be
> reflected as Unicode FreeType CharMaps.

Do you want to support only cid(char|range) and notdefrange operaters?
If it is true, it is rather simple than to support all CMap operaters,
especially bf(char|range) operators.  However we should solve the above
problem in such case.

---- YAMANOUCHI, Hidetoshi




reply via email to

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