8 #ifndef __LEFONTINSTANCE_H
9 #define __LEFONTINSTANCE_H
165 virtual const void* getFontTable(
LETag tableTag,
size_t &length)
const = 0;
193 virtual le_int32 getUnitsPerEM()
const = 0;
303 virtual float getXPixelsPerEm()
const = 0;
313 virtual float getYPixelsPerEm()
const = 0;
325 virtual float xUnitsToPoints(
float xUnits)
const;
337 virtual float yUnitsToPoints(
float yUnits)
const;
347 virtual void unitsToPoints(
LEPoint &units,
LEPoint &points)
const;
359 virtual float xPixelsToUnits(
float xPixels)
const;
371 virtual float yPixelsToUnits(
float yPixels)
const;
381 virtual void pixelsToUnits(
LEPoint &pixels,
LEPoint &units)
const;
394 virtual float getScaleFactorX()
const = 0;
406 virtual float getScaleFactorY()
const = 0;
423 virtual void transformFunits(
float xFunits,
float yFunits,
LEPoint &pixels)
const;
435 static inline float fixedToFloat(
le_int32 fixed);
447 static inline le_int32 floatToFixed(
float theFloat);
463 virtual le_int32 getAscent()
const = 0;
473 virtual le_int32 getDescent()
const = 0;
483 virtual le_int32 getLeading()
const = 0;
495 virtual le_int32 getLineHeight()
const;
513 inline float LEFontInstance::fixedToFloat(
le_int32 fixed)
515 return (
float) (fixed / 65536.0);
518 inline le_int32 LEFontInstance::floatToFixed(
float theFloat)
520 return (
le_int32) (theFloat * 65536.0);
UChar32 LEUnicode32
Used to represent 32-bit Unicode code points.
le_uint32 LETag
Used for four character tags.
virtual UClassID getDynamicClassID() const
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
Instances of this class are used by LEFontInstance::mapCharsToGlyphs and LEFontInstance::mapCharToGly...
#define U_LAYOUT_API
Set to export library symbols from inside the layout engine library, and to import them from outside...
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
C API: Basic definitions for the ICU LayoutEngine.
int32_t le_int32
A type used for signed, 32-bit integers.
UBool le_bool
A type used for boolean values.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
LEErrorCode
Error codes returned by the LayoutEngine.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
UChar LEUnicode
Used to represent 16-bit Unicode code points.
This is a virtual base class that serves as the interface between a LayoutEngine and the platform fon...
This class encapsulates the per-glyph storage used by the ICU LayoutEngine.
le_uint32 LEGlyphID
Used for glyph indices.
UObject is the common ICU "boilerplate" class.
Used to hold a pair of (x, y) values which represent a point.