Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

HanOpenTypeLayoutEngine Class Reference

This class implements OpenType layout for Han fonts. More...

#include <HanLayoutEngine.h>

Inheritance diagram for HanOpenTypeLayoutEngine::

OpenTypeLayoutEngine LayoutEngine UObject UMemory List of all members.

Public Methods

 HanOpenTypeLayoutEngine (const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, const GlyphSubstitutionTableHeader *gsubTable)
 This is the main constructor. More...

virtual ~HanOpenTypeLayoutEngine ()
 The destructor, virtual for correct polymorphic invocation. More...

virtual UClassID getDynamicClassID () const
 ICU "poor man's RTTI", returns a UClassID for the actual class. More...


Static Public Methods

UClassID getStaticClassID ()
 ICU "poor man's RTTI", returns a UClassID for this class. More...


Protected Methods

virtual le_int32 characterProcessing (const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, LEUnicode *&outChars, le_int32 *&charIndices, const LETag **&featureTags, LEErrorCode &success)
 This method does Han OpenType character processing. More...


Static Private Attributes

const char fgClassID
 The address of this static class variable serves as this class's ID for ICU "poor man's RTTI". More...


Detailed Description

This class implements OpenType layout for Han fonts.

It overrides the characerProcessing method to assign the correct OpenType feature tags for the CJK language-specific forms.

Internal:
For internal use only.

Definition at line 29 of file HanLayoutEngine.h.


Constructor & Destructor Documentation

HanOpenTypeLayoutEngine::HanOpenTypeLayoutEngine const LEFontInstance   fontInstance,
le_int32    scriptCode,
le_int32    languageCode,
const GlyphSubstitutionTableHeader *    gsubTable
 

This is the main constructor.

It constructs an instance of HanOpenTypeLayoutEngine for a particular font, script and language. It takes the GSUB table as a parameter since LayoutEngine::layoutEngineFactory has to read the GSUB table to know that it has a Han OpenType font.

Parameters:
fontInstance  - the font
scriptCode  - the script
langaugeCode  - the language
gsubTable  - the GSUB table
See also:
LayoutEngine::layoutEngineFactory , OpenTypeLayoutEngine , ScriptAndLangaugeTags.h for script and language codes
Internal:
For internal use only.

virtual HanOpenTypeLayoutEngine::~HanOpenTypeLayoutEngine   [virtual]
 

The destructor, virtual for correct polymorphic invocation.

Internal:
For internal use only.


Member Function Documentation

virtual le_int32 HanOpenTypeLayoutEngine::characterProcessing const LEUnicode    chars[],
le_int32    offset,
le_int32    count,
le_int32    max,
le_bool    rightToLeft,
LEUnicode *&    outChars,
le_int32 *&    charIndices,
const LETag **&    featureTags,
LEErrorCode   success
[protected, virtual]
 

This method does Han OpenType character processing.

It assigns the OpenType feature tags to the characters to generate the correct language-specific variants.

Input parameters:

Parameters:
chars  - the input character context
offset  - the index of the first character to process
count  - the number of characters to process
max  - the number of characters in the input context
rightToLeft  - true if the characters are in a right to left directional run
Output parameters:
Parameters:
outChars  - the output character arrayt
charIndices  - the output character index array
featureTags  - the output feature tag array
success  - set to an error code if the operation fails
Returns:
the output character count
Internal:
For internal use only.

Reimplemented from OpenTypeLayoutEngine.

virtual UClassID HanOpenTypeLayoutEngine::getDynamicClassID void    const [inline, virtual]
 

ICU "poor man's RTTI", returns a UClassID for the actual class.

Draft:
This API has been introduced in ICU 2.2. It is still in draft state and may be modified in a future release.

Reimplemented from OpenTypeLayoutEngine.

Definition at line 65 of file HanLayoutEngine.h.

UClassID HanOpenTypeLayoutEngine::getStaticClassID void    [inline, static]
 

ICU "poor man's RTTI", returns a UClassID for this class.

Draft:
This API has been introduced in ICU 2.2. It is still in draft state and may be modified in a future release.

Reimplemented from OpenTypeLayoutEngine.

Definition at line 72 of file HanLayoutEngine.h.


Member Data Documentation

const char HanOpenTypeLayoutEngine::fgClassID [static, private]
 

The address of this static class variable serves as this class's ID for ICU "poor man's RTTI".

Reimplemented from OpenTypeLayoutEngine.

Definition at line 107 of file HanLayoutEngine.h.


The documentation for this class was generated from the following file:
Generated on Mon Nov 24 14:36:34 2003 for ICU 2.8 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001