[reportlab-users] Incorrect character composition

Glenn Linderman v+python at g.nevcal.com
Thu May 28 22:08:25 EDT 2015

On 4/15/2015 10:46 PM, Glenn Linderman wrote:
> There are, I think, 4 issues, the first two of which I could 
> definitely use if implemented, and which sound relatively easy, but 
> likely have performance impact. They would enable _higher quality 
> typesetting_ of Latin-based text into PDF files. The others could be 
> hard, but would be required to support a wider range of languages with 
> non-Latin fonts.  I did read something recently about Micro$oft 
> producing a font layout system (but they used a different word in the 
> article that I cannot come up with right now) for all the various 
> needs of different language systems... The closest thing I can find 
> with Google right now is their DirectWrite, but whether it 
> incorporates the technology I read about, I couldn't say, but maybe it 
> does or will. I don't recall if this was something they were making 
> generally available to make the world's typography improve, or if it 
> was a proprietary come-on to promote/improve Windows. It sounded 
> pretty general, language-wise.
>  1. kerning
>  2. composite glyph positioning
>  3. Languages with huge numbers of ligatures, where characters appear
>     differently, even to the point of requiring different glyphs, at
>     the beginning or end of words (Arabic) or adjacent to other
>     letters (Thai).
>  4. RTL languages.
> 1. kerning
> My research into kerning is below, since it was somewhat productive. 
> Most of it was on this list. I have not had time to research composite 
> glyph positioning, which

Seems I forgot to finish this sentence in the original email, as the 
next thing was a different paragraph. And I won't now either, because I 
don't know what I was going to say.

In what I said in the first paragraph about M$ producing a font layout 
system, here is the link where you can read what I read about that, 
which I finally found again.


This sort of technology and complexity would be required for items 3 & 4 
in my complexity list. Probably it also handles 1 & 2, but they would be 
the simple cases.

There are some interesting statistics in the article about numbers of 
languages that require shaping engine support, as well as a pointer to 
the full specification for the Universal Shaping Engine, which is 
somewhat eye-glazing, and yet only an overview of the categorizations 
done, not containing any implementation hints that I could see.

I've no idea how many languages are supported by Cairo, say, which is 
the graphics rendering system used by Firefox (and likely open source), 
nor how well. Cairo does handle all the cases I've mentioned.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/reportlab-users/attachments/20150528/1217e26e/attachment.html>

More information about the reportlab-users mailing list