[sword-devel] multiple languages in modules

Karl Kleinpaste karl at kleinpaste.org
Thu Oct 11 20:11:58 MST 2012

I know nothing of <foreign>, but can only suppose that, if supported, it
must pass through the engine with an appropriate (HTML) indication.

As a general rule, I suggest either Free Serif or Linux Libertine, with
a slight preference for Free Serif.  Both have good coverage across
every Latin alphabet variant, and pretty display of both Hebrew and
Greek.  In modules of mine that have Latin, Greek, and Hebrew alphabets,
they all show quite well.  We include both of these fonts in Xiphos'
Win32 installers.

You might find the UDHR module useful, from Crosswire Experimental, as a
font demonstration module.

(Linux Libertine is not Linux-specific.  It was just developed in an
open source environment.)

> Is the <foreign> element passed through the engine? If so, do I need
> to file bugs with front-ends to encourage support of <foreign>?

Having just looked, the string "foreign" does not appear in Sword's
source tree in src/modules/filters/*.cpp.  So it's not supported right
now after all.  I don't know how BPBible supports it; I had understood
that BPBible uses the regular filter sets.  Does BPBible actually
subclass the filters and extend them for <foreign>?

> Second, when RtoL text is mixed with LtoR text you can get some
> strange display problems. Punctuation and numbers can work for both
> types of languages.

This is often an artifact of how toolkits handle LtoR.  Today, Xiphos
uses GTK and WebKit, but I don't know how these reflect your example
case.  Our former use of gtkhtml3 -vs- gtkmozembed -vs- xulrunner -vs-
today's WebKit always led to some strange realizations for how LtoR
would show up in Xiphos.  gtkhtml3 wants to right-justify any text
containing (or perhaps it was "that leads off with") Hebrew.  That
peculiarity led to certain unexpected choices for how I created

More information about the sword-devel mailing list