Internship 2010: Optional OpenType features

From Apache OpenOffice Wiki
< Internship‎ | Projects
Revision as of 23:49, 15 November 2010 by Milosh (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


OpenType is a font format that supports many advanced typographical features. For some scripts these features are required for proper layout. Other features are optional and allow to customize text to be beautifully typeset. Many fonts available today, both free and commercial, provide optional features such as alternative numeral styles, ligatures and real small caps.


The internship project "Optional OpenType" features will implement it as an experimental feature, which means that

  • the features are only statically enabled or disabled per text run (not dynamically which would allow to get e.g. much better justified text)
  • document import/export is incomplete regarding these features
  • is not expected to work on more than one platform
  • layout stability is reduced

system layer support on at least one platform

  • e.g. on WIN using the new API calls available in newer usp10 versions (i112466) usually only available on WinVista/Win7
  • announce the available optional typographic features to the application layers
    • if possible in such a way that major UI rework can be avoided for now e.g. by enumerating the features as available font styles
    • see Typography toolbar extension for an UI idea
  • support the optional features when requested for the selected font
  • emulate some features for fonts that do not support them directly (e.g. subscript/superscript/denominators/small caps)

application layer support (i79878)

  • find, isolate and report (eventually debug and solve) problems and missing features in the application layer when very many font styles are available

related tasks in the application layers (i108684)

  • find, isolate and report (eventually debug and solve) problems regarding advanced typography in the application layer

Project Status

  • the project is accepted for the summer internship
  • the project has started
  • the CWS tmp_otf02 has been set up
  • uniscribe functions that can handle optional OpenType features have been implemented and debugging is ongoing. We currently have a small set of OpenType features enabled and testable in the cws.
  • OpenType features are selectable and mostly work.
Personal tools