8 #ifndef __LEFONTINSTANCE_H
9 #define __LEFONTINSTANCE_H
166 virtual const void *getFontTable(
LETag tableTag)
const = 0;
194 virtual le_int32 getUnitsPerEM()
const = 0;
304 virtual float getXPixelsPerEm()
const = 0;
314 virtual float getYPixelsPerEm()
const = 0;
326 virtual float xUnitsToPoints(
float xUnits)
const;
338 virtual float yUnitsToPoints(
float yUnits)
const;
348 virtual void unitsToPoints(
LEPoint &units,
LEPoint &points)
const;
360 virtual float xPixelsToUnits(
float xPixels)
const;
372 virtual float yPixelsToUnits(
float yPixels)
const;
382 virtual void pixelsToUnits(
LEPoint &pixels,
LEPoint &units)
const;
395 virtual float getScaleFactorX()
const = 0;
407 virtual float getScaleFactorY()
const = 0;
424 virtual void transformFunits(
float xFunits,
float yFunits,
LEPoint &pixels)
const;
436 static inline float fixedToFloat(
le_int32 fixed);
448 static inline le_int32 floatToFixed(
float theFloat);
464 virtual le_int32 getAscent()
const = 0;
474 virtual le_int32 getDescent()
const = 0;
484 virtual le_int32 getLeading()
const = 0;
496 virtual le_int32 getLineHeight()
const;
516 return (
float) (fixed / 65536.0);
521 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 ~LECharMapper()
Destructor.
This class encapsulates the per-glyph storage used by the ICU LayoutEngine.
#define U_LAYOUT_API
Set to export library symbols from inside the layout engine library, and to import them from outside...
static le_int32 floatToFixed(float theFloat)
This is a convenience method used to convert floating point values to 16.16 fixed point format...
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.
This is a virtual base class that serves as the interface between a LayoutEngine and the platform fon...
Instances of this class are used by LEFontInstance::mapCharsToGlyphs and LEFontInstance::mapCharToGly...
LEErrorCode
Error codes returned by the LayoutEngine.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API If the compiler doesn't support namespaces...
UObject is the common ICU "boilerplate" class.
virtual LEUnicode32 mapChar(LEUnicode32 ch) const =0
This method does the adjustments.
void * UClassID
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...
static float fixedToFloat(le_int32 fixed)
This is a convenience method used to convert values in a 16.16 fixed point format to floating point...
UChar LEUnicode
Used to represent 16-bit Unicode code points.
le_uint32 LEGlyphID
Used for glyph indices.
virtual UClassID getDynamicClassID() const =0
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
Used to hold a pair of (x, y) values which represent a point.