logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

m17nFLT_-_FLT - - API provided by libm17n-flt.so

Author

       Generated automatically by Doxygen for The m17n Library from the source code.

Data Structure Documentation

MFLTGlyph
       Type of information about a glyph.

       FIELDDOCUMENTATION:intMFLTGlyph::c Character code (Unicode) of the glyph.

       unsignedintMFLTGlyph::code Glyph ID of the glyph in the font.

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

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

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

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

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

       intMFLTGlyph::descentintMFLTGlyph::lbearingintMFLTGlyph::rbearingintMFLTGlyph::xoff Horizontal and vertical adjustments for the glyph positioning expressed in 26.6
       fractional pixel format.

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

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

       unsignedMFLTGlyph::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.

       unsignedMFLTGlyph::internal For m17n-lib's internal use only.

   MFLTGlyphAdjustment
       Type of information about a glyph position adjustment.

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

       intMFLTGlyphAdjustment::yadvintMFLTGlyphAdjustment::xoff Horizontal and vertical adjustments for glyph positioning expressed in 26.6
       fractional pixel format.

       intMFLTGlyphAdjustment::yoffshortMFLTGlyphAdjustment::back Number of glyphs to go back for drawing a glyph.

       unsignedMFLTGlyphAdjustment::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.

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

   MFLTGlyphString
       Type of information about a glyph sequence.

       FIELDDOCUMENTATION:intMFLTGlyphString::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::glyphsArrayofglyphs.intMFLTGlyphString::allocated Number of elements allocated in glyphs.

       intMFLTGlyphString::used Number of elements in glyphs in use.

       unsignedintMFLTGlyphString::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.

       FIELDDOCUMENTATION:MSymbolMFLTOtfSpec::sym Unique symbol representing the spec. This is the same as the OTF-SPEC of the
       FLT.

       unsignedintMFLTOtfSpec::script Tags for script and language system.

       unsignedintMFLTOtfSpec::langsysunsignedint*MFLTOtfSpec::features[2] Array of GSUB (1st element) and GPOS (2nd element) feature tag
       arrays. Each array is terminated by 0. It may be NULL if there is no feature to specify.

       (1) The case of using this information for selecting which features to apply to a glyph string. If the
       array is NULL, apply no feature. If the first element is 0xFFFFFFFF, apply all available features except
       for what appear in the second and following elements (if any). Otherwise, apply all listed features.

       (2) The case of using this information for checking if a a font can be drived by a specific FLT. If the
       array is NULL, the font should not have any features. Otherwize, the font should have all features before
       0xFFFFFFFF element (if any) and should not have any features after that element.

   MFLTFont
       Type of font to be used by the FLT driver.

       FIELDDOCUMENTATION:MSymbolMFLTFont::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).

       intMFLTFont::x_ppem Horizontal font sizes in pixels per EM.

       intMFLTFont::y_ppem Vertical font sizes in pixels per EM.

       int(*MFLTFont::get_glyph_id)(struct_MFLTFont*font,MFLTGlyphString*gstring,intfrom,intto)CallbackfunctiontogetglyphIDsforglyphsbetweenFROM(inclusive)andTO(exclusive)ofGSTRING.Ifthemember<encoded>ofaglyphiszero,themember<code>ofthatglyphisacharactercode.ThefunctionmustconvertittotheglyphIDofFONT.int(*MFLTFont::get_metrics)(struct_MFLTFont*font,MFLTGlyphString*gstring,intfrom,intto)CallbackfunctiontogetmetricsofglyphsbetweenFROM(inclusive)andTO(exclusive)ofGSTRING.Ifthemember<measured>ofaglyphiszero,thefunctionmustsetthemembers<xadv>,<yadv>,<ascent>,<descent>,<lbearing>,and<rbearing>oftheglyph.int(*MFLTFont::check_otf)(struct_MFLTFont*font,MFLTOtfSpec*spec)CallbackfunctiontocheckifthefonthasOpenTypeGSUB/GPOSfeaturesforaspecificscript/language.Thefunctionmustreturn1,ifthefontsatisfiesSPEC,or0.ItmustbeNULLifthefontdoesnothaveOpenTypetables.int(*MFLTFont::drive_otf)(struct_MFLTFont*font,MFLTOtfSpec*spec,MFLTGlyphString*in,intfrom,intto,MFLTGlyphString*out,MFLTGlyphAdjustment*adjustment)CallbackfunctiontoapplyOpenTypefeaturesinSPECtoglyphsbetweenFROM(inclusive)andTO(exclusive)ofIN.TheresultingglyphsareappendedtothetailofOUT.IfOUTdoesnothavearoomtostorealltheresultingglyphs,itmustreturn-2.ItmustbeNULLifthefontdoesnothaveOpenTypetables.void*MFLTFont::internal For m17n-lib's internal use only. It should be initialized to NULL.

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.

Name

       m17nFLT_-_FLT -  - API provided by libm17n-flt.so

Synopsis

DataStructures
       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).

   FunctionsMFLT * 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.
       void mflt_dump_gstring (MFLTGlyphString *gstring)
           Dump an MFLTGlyphString.

   Variables
       int mflt_enable_new_feature
           Flag to control several new OTF handling commands.
       int(* mflt_iterate_otf_feature )(struct _MFLTFont *font, MFLTOtfSpec *spec, int from, int to, unsigned
           char *table)
       MSymbol(* mflt_font_id )(struct _MFLTFont *font)
       int(* mflt_try_otf )(struct _MFLTFont *font, MFLTOtfSpec *spec, MFLTGlyphString *gstring, int from, int
           to)

Typedef Documentation

typedefstruct_MFLTMFLT
       Type of FLT (Font Layout Table). The type MFLT is for an FLT object. Its internal structure is concealed
       from application programs.

Variable Documentation

intmflt_enable_new_feature
       Flag to control several new OTF handling commands. If the variable mflt_enable_new_feature is nonzero,
       the function mflt_run() can drive a Font Layout Table that contains the new OTF-related commands ':otf?'
       and/or OTF feature specification in a category table.

   int(*mflt_iterate_otf_feature)(struct_MFLTFont*font,MFLTOtfSpec*spec,intfrom,intto,unsignedchar*table)(struct_MFLTFont*font,MFLTOtfSpec*spec,intfrom,intto,unsignedchar*table)MSymbol(*mflt_font_id)(struct_MFLTFont*font)(struct_MFLTFont*font)int(*mflt_try_otf)(struct_MFLTFont*font,MFLTOtfSpec*spec,MFLTGlyphString*gstring,intfrom,intto)(struct_MFLTFont*font,MFLTOtfSpec*spec,MFLTGlyphString*gstring,intfrom,intto)

See Also