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

Mad idea

السلام عليكم

Reading the discussions about Unicode / Quran and then some of Thomas's very 
interesting pdfs such as 
http://www.tradigital.de/specials/studies/iuc20c.pdf and hearing about his 
ACE arabic font technology gave me a mad idea which I'd love to start 
implementing. I'd love to hear other peoples ideas about it and if they 
think I could get people involved etc.

Long-term Goal: provide a GPL general purpose font renderer along the lines 
of xfs which would render arabic encoded strings (not just character glyphs) 
-  in a 'beautiful' way.


1 - a font format which is based on algorithms (shaping and ligature-like 
constructs) and not simply strokes of the pen. Interestingly postscript is 
already similar to this in that a font is a program. However, I don't think 
it supports the type (in terms of algorithm) of glyph shaping I have in 
mind. As a consequence the font file format could be based on e.g. OpenType, 
but with any modifications required.

2 - each character could have a number of extra parameters such as in-point 
and out-point (or delta between the two), 'centre-of-gravity' type of thing 
and other shape control features. By changing the parameters the actual 
glyph would change (on-the-fly). The parameter settings for each character 
could be part of the document's character encoding (as a sister file to the 
main unicode encoding maybe?). The font renderer would of course have to 
have some default parameters for each glyph as 99.999% of editors will not 
understand them but output (and understand) plain unicode only.

3 - a specialised 'calligraphy' editor supporting the font renderer for 
advanced use, allowing fine detailed control of possible rendering 

4 - Using the codebase in fontforge as an example, it may be possible to 
create algorithms that on-the-fly create Type-1 compatible glyph 
instructions but which are entirely tailored to their context. Current 
postscript font renderers such as the one in xfs could then be used for the 
actual glyph rendering.

5 - technology such as Qt could be patched to pass strings where possible 
rather than individual characters to the font renderer. This is perhaps a 
lot more difficult than it sounds but would be fundamental to the general 
applicability of the project. Would it be a 'calligraphy' type app only, or 
an engine that would be widely used?

I personally couldn't bear to start a project of this size on a non 
object-oriented language, so C++ springs to mind as the appropriate language 
to use.

As I said, I would be very interested in other people's thoughts (is it 
impossible etc). Shoot me down in flames, whatever.

Alternatively, maybe we could persuade Thomas to GPL (for the GPL platforms) 
his Arabic Calligraphy Engine ;-)

و السلام
عبد الحق