“TrueType” can mean different things depending on context.

-          The TrueType font format specification

-          The TrueType glyph outline/ hinting format

-          The “sfnt” font file format

These are all inter-related. The TrueType font format was defined around 20 
years ago by Apple. Two aspects of that format are (1) an overall file 
structure, often referred to as the “sfnt” format, and (2) a particular way of 
describing glyph outlines and hinting.

One particular thing to note regarding the sfnt container format is that it 
involves a set of data tables and a table directory which are inherently 
extensible. The TrueType font format defined a particular set of tables, but a 
font could include additional tables and still be considered a TrueType font.

The OpenType format builds on the TrueType format but leverages the 
extensibility of the sfnt format in three particular ways:


-          It defines additional tables, known collectively as OpenType Layout 
tables (GDEF, GSUB, GPOS, JSTF and BASE), that provide functionality needed for 
complex scripts and fine typography

-          It defines an additional table, DSIG, to support digital signing of 
font files

-          It allows for glyph outline data using Adobe’s CFF format (the 
outline format used in Type 1)

In principle, any OpenType font that includes glyph data in TrueType format can 
be considered a TrueType font. (If it includes CFF outlines, not TrueType 
outlines, then it is not a valid TrueType font.) Likewise, any font that 
conforms to the TrueType spec is, in principle, also an OpenType font. But to 
avoid confusion it’s best to use these terms in a distinctive way: if a font 
has one or more of the three additional types of data (OTL tables, DSIG tables, 
CFF outlines), then it’s best to refer to that as an “OpenType” font and not a 
“TrueType font”.

To support Thai or Devanagari, software that has some higher-level layout 
engine is required. OpenType Layout tables require rendering engines that know 
how to interact with the data in those tables. There are other sfnt-based font 
formats that use different data tables for complex-script support; in 
particular, Graphite and AAT. Each of those require corresponding layout 
engines.


Hope that helps.
peter


From: [email protected] [mailto:[email protected]] On Behalf 
Of li bo
Sent: Wednesday, September 07, 2011 2:06 AM
To: [email protected]
Cc: [email protected]
Subject: Re: About combination of thai and devanagrari

If I use truetype font, Does it mean i need a higher-level layout engine to 
layout the font?
I know that there are OpenType tables (GPOS and GSUB) to handle the shape and 
combine for complex scripts.
But Is the OpenType tables  support truetype font?  I even don't know the 
difference between the truetype font and opentype font.
Thanks!




On Tue, Sep 6, 2011 at 1:53 PM, Philippe Verdy 
<[email protected]<mailto:[email protected]>> wrote:
Devanagari, not Decanagrari I suppose... Starts by looking at the
TrueType and OpenType specifications:
http://www.microsoft.com/typography/SpecificationsOverview.mspx
Then look at the details of the OpenType features needed for
Devanagari and Thai.

You'll immediately see that Thai is much less complex than Devanagari
to implement.

There are other competing technologies, base on TrueType (AAT for
MacOS, Graphite portable across platforms, but not very well supported
in applications).

SVG fonts for now cannot support these scripts very well due to the
impossibility to map precisely the contextual forms that are unified
in Unicode (for Thai, well it could work with modern texts, but for
Devanagari, it's impossible without additional data for mapping the
contextual glyphs): there's still no specification in SVG fonts for
"features" like in OpenType, AAT and Graphite. In addition, the DOM
API for SVG fonts is not accessible in a documented way (only "opaque"
interfaces are available; you have to rely to the XML DOM instead).

There are tricks to support Devanagari with Type1 fonts, but this
requires integratinf additional Postscript routines, specific to the
PostScript engine, to keep context variables in some accessible global
directory, such as the device context, normally not made for that, or
by self modifying the font's directory (such trick is used to generate
some Barcode fonts; font tools generally provide no help to integrate
those routines).

But you may want to create a composite font, in which case a SVG font
can be built that combines two existing OpenType fonts (without
modifying them and without importing or converting their glyph
definitions), grouped under a single family-name and usable on the web
for CSS. Of you can do that with CSS "@font{ ...}", for later use of
the new family in a stylesheet or in HTML.

-- Philippe --

2011/9/6 li bo <[email protected]<mailto:[email protected]>>:
> I'd like to implement the combination of thai and decanagrari scripts using
> vector font. But I have no idea about it. How  do i adjust the position of
> the combined glyph? Could anyone give some advices or references? Thanks a
> lot!
>

Reply via email to