← Back to team overview

ubuntu-developer-manual team mailing list archive

Re: PDFs in latin (script) langs only?

 

All:
I added a wiki page for installing the toolchain:
https://wiki.ubuntu.com/DesktopTeam/10.10/DeveloperManual/Toolchain

Kevin,

Do you mind if I add your summary points about the toolchain to the above wiki page?

Cheers,
Kyle

On 01/04/2011 03:57 PM, Kevin Godby wrote:
Hello.

On Tue, Jan 4, 2011 at 10:13 AM, Kyle Nitzsche
<kyle.nitzsche@xxxxxxxxxxxxx>  wrote:
This project is using the ubuntu manual latex-based system to for source
files and to produce pdfs.

Instructions to the install latex related software (needed to build pdfs)
says:
"Note that not all languages are supported yet (especially those requiring
non-Latin scripts)"

^^that's on the first page of Chapter 6 of the style guide linked to at the
top here: https://wiki.ubuntu.com/DesktopTeam/10.10/DeveloperManual

QUESTION: Is this build system limited to producing pdfs for languages that
use the latin script?

If so, that would mean, for example, no Chinese, Russian, Greek, Japanese,
Korean, Arabic, and etc.

If so, are there plans in place to support the world's (major) scripts?
When I wrote that 'not all languages are supported yet,' I meant, 'not
all languages are supported yet'—not, 'it's impossible to support some
languages.'

To answer your question (I'll expand your question a bit and take
'build system' to mean 'tool chain'): the tool chain is not limited to
Latin-based scripts.

Here's a breakdown of the tools we're using (with regard to language
support and translations):

* XeTeX.  This is the underlying typesetting engine that we're
using—it's what takes our code and generates PDFs.  It supports
Unicode, OpenType and Truetype fonts.

* LaTeX.  This is a common set of macros that run on top of the XeTeX
(and other TeX) engine. This is what provides the \chapter{},
\section{}, etc. commands.

* fontspec package.  This package is a set of macros that provides a
friendlier user interface to the underlying XeTeX font commands.

* polyglossia package. This package maintains common translations
(e.g., "Table of Contents," "Index," "Figure," "Table," "Glossary,")
for a wide variety of languages and also changes the font based on the
currently selected language.

* xindy. Sorts and manages the indexes and glossaries.

* po4a.  po4a reads in our .tex files and emits .pot files. It also
takes .po files and generates translated .tex files.

Now, for a language to be 'supported,' the following are required:

1. The font must support the script and language.
2. A polyglossia module must exist that contains the translations for
the common document elements (as listed above), and that specifies the
OpenType language and script codes.
3. Hyphenation patterns should exist for the language (otherwise you
won't have proper/any hyphenation and things may look a bit ugly).
4. A collation order should be specified for the indexer (so it can
sort words in the glossary and index properly based on the language's
rules, not just in Unicode order).
5. The document design itself (ubuntu-manual.cls) must be adjusted to
accommodate the fonts and other language-specific elements (e.g., a
right-to-left page layout).

Where any of these elements are missing for a particular language, it
may be contributed in an open-source manner.  For instance, the Ubuntu
Manual Project has contributed some language definition files
(translations) to the polyglossia package.

If you have a question about a particular language, let me know.
Otherwise, we'll probably have to deal with each language as its
translated.

(Oh, and to your note in a later email about FOP's less-than-optimal
Arabic support, you may enjoy this talk from someone who has been
doing some absolutely amazing things with the forthcoming LuaTeX and
Arab text.  I can't wait for it to show up in the repositories so we
can play with it!
http://river-valley.tv/oriental-tex-culturally-authentic-typesetting-of-the-quran/)

You can view some of the drafts of the Ubuntu Manual in various languages here:

   http://builds.ubuntu-manual.org/

Note that I haven't generated the PDFs in a couple months—I'll try to
do that soon.  Also, I haven't created a right-to-left layout, either.
  There hasn't been enough activity in those translations to warrant it
yet.  Some of the languages still need polyglossia support.  Some of
them need me to find suitable fonts.  We've basically been dealing
with those issues as they arise.

--Kevin




Follow ups

References