| Index: icu46/source/test/letest/SimpleFontInstance.cpp
|
| ===================================================================
|
| --- icu46/source/test/letest/SimpleFontInstance.cpp (revision 0)
|
| +++ icu46/source/test/letest/SimpleFontInstance.cpp (revision 0)
|
| @@ -0,0 +1,132 @@
|
| +/*
|
| + *******************************************************************************
|
| + *
|
| + * Copyright (C) 1999-2007, International Business Machines
|
| + * Corporation and others. All Rights Reserved.
|
| + *
|
| + *******************************************************************************
|
| + * file name: SimpleFontInstance.cpp
|
| + *
|
| + * created on: 03/30/2006
|
| + * created by: Eric R. Mader
|
| + */
|
| +
|
| +#include "unicode/utypes.h"
|
| +#include "unicode/uchar.h"
|
| +
|
| +#include "layout/LETypes.h"
|
| +#include "layout/LEFontInstance.h"
|
| +
|
| +#include "CanonShaping.h"
|
| +#include "SimpleFontInstance.h"
|
| +
|
| +SimpleFontInstance::SimpleFontInstance(float pointSize, LEErrorCode &status)
|
| + : fPointSize(pointSize), fAscent(0), fDescent(0)
|
| +{
|
| + if (LE_FAILURE(status)) {
|
| + return;
|
| + }
|
| +
|
| + fAscent = (le_int32) yUnitsToPoints(2000.0);
|
| + fDescent = (le_int32) yUnitsToPoints(600.0);
|
| +
|
| + return;
|
| +}
|
| +
|
| +SimpleFontInstance::~SimpleFontInstance()
|
| +{
|
| + // nothing to do...
|
| +}
|
| +
|
| +const void *SimpleFontInstance::getFontTable(LETag tableTag) const
|
| +{
|
| + if (tableTag == LE_GSUB_TABLE_TAG) {
|
| + return CanonShaping::glyphSubstitutionTable;
|
| + }
|
| +
|
| + if (tableTag == LE_GDEF_TABLE_TAG) {
|
| + return CanonShaping::glyphDefinitionTable;
|
| + }
|
| +
|
| + return NULL;
|
| +}
|
| +
|
| +void SimpleFontInstance::getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const
|
| +{
|
| +#if 0
|
| + if (u_getCombiningClass((UChar32) glyph) == 0) {
|
| + advance.fX = xUnitsToPoints(2048);
|
| + } else {
|
| + advance.fX = 0;
|
| + }
|
| +#else
|
| + advance.fX = xUnitsToPoints(2048);
|
| +#endif
|
| +
|
| + advance.fY = 0;
|
| +}
|
| +
|
| +le_int32 SimpleFontInstance::getUnitsPerEM() const
|
| +{
|
| + return 2048;
|
| +}
|
| +
|
| +le_int32 SimpleFontInstance::getAscent() const
|
| +{
|
| + return fAscent;
|
| +}
|
| +
|
| +le_int32 SimpleFontInstance::getDescent() const
|
| +{
|
| + return fDescent;
|
| +}
|
| +
|
| +le_int32 SimpleFontInstance::getLeading() const
|
| +{
|
| + return 0;
|
| +}
|
| +
|
| +// We really want to inherit this method from the superclass, but some compilers
|
| +// issue a warning if we don't implement it...
|
| +LEGlyphID SimpleFontInstance::mapCharToGlyph(LEUnicode32 ch, const LECharMapper *mapper, le_bool filterZeroWidth) const
|
| +{
|
| + return LEFontInstance::mapCharToGlyph(ch, mapper, filterZeroWidth);
|
| +}
|
| +
|
| +// We really want to inherit this method from the superclass, but some compilers
|
| +// issue a warning if we don't implement it...
|
| +LEGlyphID SimpleFontInstance::mapCharToGlyph(LEUnicode32 ch, const LECharMapper *mapper) const
|
| +{
|
| + return LEFontInstance::mapCharToGlyph(ch, mapper);
|
| +}
|
| +
|
| +LEGlyphID SimpleFontInstance::mapCharToGlyph(LEUnicode32 ch) const
|
| +{
|
| + return (LEGlyphID) ch;
|
| +}
|
| +
|
| +float SimpleFontInstance::getXPixelsPerEm() const
|
| +{
|
| + return fPointSize;
|
| +}
|
| +
|
| +float SimpleFontInstance::getYPixelsPerEm() const
|
| +{
|
| + return fPointSize;
|
| +}
|
| +
|
| +float SimpleFontInstance::getScaleFactorX() const
|
| +{
|
| + return 1.0;
|
| +}
|
| +
|
| +float SimpleFontInstance::getScaleFactorY() const
|
| +{
|
| + return 1.0;
|
| +}
|
| +
|
| +le_bool SimpleFontInstance::getGlyphPoint(LEGlyphID /*glyph*/, le_int32 /*pointNumber*/, LEPoint &/*point*/) const
|
| +{
|
| + return FALSE;
|
| +}
|
| +
|
|
|
| Property changes on: icu46/source/test/letest/SimpleFontInstance.cpp
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|