Windows OpenType support, Serbian cursive

Caolán McNamara caolanm at redhat.com
Wed Jan 22 03:43:22 PST 2014


On Tue, 2014-01-21 at 08:58 -0800, Perka Peric wrote:
> Hello Caolán, thanks for writing to me.
> 
> Yes, I always mark my texts as "Serbian (Cyrillic)" ... but ... LO
> (even the latest v4.1.4.2) for Windows doesn't have this [localized
> forms for Serbian] functionality. It simply doesn't work in Windows.
> 
> I see you develop for Linux, but is there something developers can do
> to fix the things for Windows, maybe some other OpenType library?

Yeah, that's right, it's not implemented for Windows. I'll reply to the
development list as well to document what needs to be done.

We're using ScriptShape under windows, I believe to get the desired
functionality we need to bump up to using ScriptShapeOpenType and set
the tagLangSys field to the opentype language tag for the language being
rendered which is available as ImplLayoutArgs::maLanguageTag which is
passed to UniscribeLayout::LayoutText. Then it would probably work out
of the box.

ScriptShapeOpenType and its friends are only in Windows 7+ so we'd
probably also need to GetProcAddress to use it only when it's available
at run time and fall back to ScriptShape if it's not. (see
https://bugs.freedesktop.org/show_bug.cgi?id=55494#c19 by our very own
Fridrich moonlighting over in harfbuzz for a tip on how to do that)

We probably also then need to remove SimpleWinLayout and use
UniscribeLayout for all languages and not just those deemed "complex".

This isn't something I personally plan to work on so its an open Windows
task for anyone to take on.

C.



More information about the LibreOffice mailing list