Firstly, don't specify any script property, or if you do, set it to "dflt". Try that and see what happens.

Secondly, there are many Noto Sans fonts, so you may have to specify a different font to be applied to specific scripts.

Thirdly, note that Devanagari has never been fully completed, so there are a few known bugs.

On Thu, Apr 6, 2017 at 8:57 AM, Erik Ogan <> wrote:
I am having some issues with ligation in Arabic & Devanagari scripts
in my embedded FOP application. I have not disabled Complex Script
Features, and have explicitly turned them on just to be sure:

  FopFactoryBuilder builder = new FopConfParser(cfgStream,

I’ve searched the archives for tips, but most of the discussion of
ligatures is around removing/disabling them.

This discussion was the only one I found that seemed like it offered a solution:

But alas, adding script attributes to my fo:block elements (as you’ll
see in the file below) seems to have had no effect.

I’m using NoTo Sans as my font, which does have ligature information.

Here is an example (intermediate) FO file:
(I have also tried downcasing & upcasing the script attributes)

Here is my configuration file:

And here is a resulting PDF:

The most _infuriating_ part of this is that before this project was
put on hold 1.5 years ago I apparently had it working in early
experiments (before I’d even corrected the alignment of Arabic &

I am using the same code, with the same configuration and font files,
yet it is producing a different result. I’ve been tearing my hair out
for weeks trying to figure out what is different.

I also have a dim memory of having had this issue in earlier
experiments, and discovering a simple solution. But I have NO idea
what that solution was, nor how it would be external to the code &
configuration I am currently running.

… I JUST had a flashbulb memory that perhaps the solution then was
upgrading from Java 1.6 to 1.7. I’m running all of this on 1.8 right

Any help or suggestions folks have would be GREATLY appreciated. Thanks!


Erik Ogan

To unsubscribe, e-mail:
For additional commands, e-mail: