GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  M17NFLT (3)

NAME

FLT API - API provided by libm17n-flt.so.

    Data Structures

    struct MFLTGlyph
Type of information about a glyph.     struct MFLTGlyphAdjustment
Type of information about a glyph position adjustment.     struct MFLTGlyphString
Type of information about a glyph sequence.     struct MFLTOtfSpec
Type of specification of GSUB and GPOS OpenType tables.     struct MFLTFont
Type of font to be used by the FLT driver.

    Typedefs

    typedef struct _MFLT MFLT
Type of FLT (Font Layout Table).

    Functions

    MFLT * mflt_get (MSymbol name)
Return an FLT object that has a specified name.     MFLT * mflt_find (int c, MFLTFont *font)
Find an FLT suitable for the specified character and font.     const char * mflt_name (MFLT *flt)
Return the name of an FLT.     MCharTable * mflt_coverage (MFLT *flt)
Return a coverage of a FLT.     int mflt_run (MFLTGlyphString *gstring, int from, int to, MFLTFont *font, MFLT *flt)
Layout characters with an FLT.     MFLT * mdebug_dump_flt (MFLT *flt, int indent)
Dump a Font Layout Table.

    Variables

    MSymbol(* mflt_font_id )(struct _MFLTFont *font)    
int(* mflt_iterate_otf_feature )(struct _MFLTFont *font, MFLTOtfSpec *spec, int from, int to, unsigned char *table)    
int(* mflt_iterate_otf_feature )(struct _MFLTFont *font, MFLTOtfSpec *spec, int from, int to, unsigned char *table)    
MSymbol(* mflt_font_id )(struct _MFLTFont *font)

CONTENTS

     MFLTGlyph
     MFLTGlyphAdjustment
     MFLTGlyphString
     MFLTOtfSpec
     MFLTFont
Copyright

Detailed Description

API provided by libm17n-flt.so.

FLT support for a window system.

This section defines the m17n FLT API concerning character layouting facility using FLT (Font Layout Table). The format of FLT is described in mdbFLT.

Data Structure Documentation

    MFLTGlyph

Type of information about a glyph.

FIELD DOCUMENTATION:

int MFLTGlyph::c

Character code (Unicode) of the glyph. This is the sole member to be set before calling the functions mflt_find() and mflt_run().

unsigned int MFLTGlyph::code

Glyph ID of the glyph in the font.

int MFLTGlyph::from

Starting index of the run in MFLTGlyphString that is replaced by this glyph.

int MFLTGlyph::to

Ending index of the run in MFLTGlyphString that is replaced by this glyph.

int MFLTGlyph::xadv

Advance width for horizontal layout expressed in 26.6 fractional pixel format.

int MFLTGlyph::yadv

Advance height for vertical layout expressed in 26.6 fractional pixel format.

int MFLTGlyph::ascent

Ink metrics of the glyph expressed in 26.6 fractional pixel format.

int MFLTGlyph::descent

int MFLTGlyph::lbearing

int MFLTGlyph::rbearing

int MFLTGlyph::xoff

Horizontal and vertical adjustments for the glyph positioning expressed in 26.6 fractional pixel format.

int MFLTGlyph::yoff

unsigned MFLTGlyph::encoded

Flag to tell whether the member <code> has already been set to a glyph ID in the font.

unsigned MFLTGlyph::measured

Flag to tell if the metrics of the glyph (members <xadv> thru <rbearing>) are already calculated.

unsigned MFLTGlyph::adjusted

Flag to tell if the metrics of the glyph is adjusted, i.e. <xadv> or <yadv> is different from the normal size, or <xoff> or <yoff> is nonzero.

    MFLTGlyphAdjustment

Type of information about a glyph position adjustment.

FIELD DOCUMENTATION:

int MFLTGlyphAdjustment::xadv

Adjustments for advance width for horizontal layout and advance height for vertical layout expressed in 26.6 fractional pixel format.

int MFLTGlyphAdjustment::yadv

int MFLTGlyphAdjustment::xoff

Horizontal and vertical adjustments for glyph positioning expressed in 26.6 fractional pixel format.

int MFLTGlyphAdjustment::yoff

short MFLTGlyphAdjustment::back

Number of glyphs to go back for drawing a glyph.

unsigned MFLTGlyphAdjustment::advance_is_absolute

If nonzero, the member <xadv> and <yadv> are absolute, i.e., they should not be added to a glyph’s origianl advance width and height.

unsigned MFLTGlyphAdjustment::set

Should be set to 1 iff at least one of the other members has a nonzero value.

    MFLTGlyphString

Type of information about a glyph sequence.

FIELD DOCUMENTATION:

int MFLTGlyphString::glyph_size

The actual byte size of elements of the array pointed by the member glyphs. It must be equal to or greater than ’sizeof (MFLTGlyph)’.

MFLTGlyph* MFLTGlyphString::glyphs

Array of glyphs.

int MFLTGlyphString::allocated

Number of elements allocated in glyphs.

int MFLTGlyphString::used

Number of elements in glyphs in use.

unsigned int MFLTGlyphString::r2l

Flag to tell if the glyphs should be drawn from right-to-left or not.

    MFLTOtfSpec

Type of specification of GSUB and GPOS OpenType tables.

FIELD DOCUMENTATION:

MSymbol MFLTOtfSpec::sym

Unique symbol representing the spec. This is the same as the OTF-SPEC of the FLT.

unsigned int MFLTOtfSpec::script

Tags for script and language system.

unsigned int MFLTOtfSpec::langsys

unsigned int* MFLTOtfSpec::features[2]

Array of GSUB (1st element) and GPOS (2nd element) features. Each array is terminated by 0. If an element is 0xFFFFFFFF apply the previous features in that order, and apply all the other features except those that appear in the following elements. It may be NULL if there are no features.

    MFLTFont

Type of font to be used by the FLT driver.

FIELD DOCUMENTATION:

MSymbol MFLTFont::family

Family name of the font. It may be Mnil if the family name is not important in finding a Font Layout Table suitable for the font (for instance, in the case that the font is an OpenType font).

int MFLTFont::x_ppem

Horizontal font sizes in pixels per EM.

int MFLTFont::y_ppem

Vertical font sizes in pixels per EM.

int(* MFLTFont::get_glyph_id)(struct _MFLTFont *font, MFLTGlyphString *gstring, int from, int to)

Callback function to get glyph IDs for glyphs between FROM (inclusive) and TO (exclusive) of GSTRING. If the member <encoded> of a glyph is zero, the member <code> of that glyph is a character code. The function must convert it to the glyph ID of FONT.

int(* MFLTFont::get_metrics)(struct _MFLTFont *font, MFLTGlyphString *gstring, int from, int to)

Callback function to get metrics of glyphs between FROM (inclusive) and TO (exclusive) of GSTRING. If the member <measured> of a glyph is zero, the function must set the members <xadv>, <yadv>, <ascent>, <descent>, <lbearing>, and <rbearing> of the glyph.

int(* MFLTFont::check_otf)(struct _MFLTFont *font, MFLTOtfSpec *spec)

Callback function to check if the font has OpenType GSUB/GPOS features for a specific script/language. The function must return 1, if the font satisfies SPEC, or 0. It must be NULL if the font does not have OpenType tables.

int(* MFLTFont::drive_otf)(struct _MFLTFont *font, MFLTOtfSpec *spec, MFLTGlyphString *in, int from, int to, MFLTGlyphString *out, MFLTGlyphAdjustment *adjustment)

Callback function to apply OpenType features in SPEC to glyphs between FROM (inclusive) and TO (exclusive) of IN. The resulting glyphs are appended to the tail of OUT. If OUT does not have a room to store all the resulting glyphs, it must return -2. It must be NULL if the font does not have OpenType tables.

void* MFLTFont::internal

For m17n-lib’s internal use only. It should be initialized to NULL.

Typedef Documentation

typedef struct _MFLT MFLT

Type of FLT (Font Layout Table).

The type MFLT is for an FLT object. Its internal structure is concealed from application programs.

Variable Documentation

MSymbol(* mflt_font_id)(struct _MFLTFont *font)

int(* mflt_iterate_otf_feature)(struct _MFLTFont *font, MFLTOtfSpec *spec, int from, int to, unsigned char *table)

int(* mflt_iterate_otf_feature)(struct _MFLTFont *font, MFLTOtfSpec *spec, int from, int to, unsigned char *table)

MSymbol(* mflt_font_id)(struct _MFLTFont *font)

COPYRIGHT

Copyright (C) 2001 Information-technology Promotion Agency (IPA)
Copyright (C) 2001-2009 National Institute of Advanced Industrial Science and Technology (AIST)
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License <http://www.gnu.org/licenses/fdl.html>.
Search for    or go to Top of page |  Section 3 |  Main Index


FLT API (3m17n) 15 Oct 2009

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.