summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-4.6/test/letest/SimpleFontInstance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-4.6/test/letest/SimpleFontInstance.cpp')
-rw-r--r--Build/source/libs/icu/icu-4.6/test/letest/SimpleFontInstance.cpp132
1 files changed, 132 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-4.6/test/letest/SimpleFontInstance.cpp b/Build/source/libs/icu/icu-4.6/test/letest/SimpleFontInstance.cpp
new file mode 100644
index 00000000000..fa5aaedda0a
--- /dev/null
+++ b/Build/source/libs/icu/icu-4.6/test/letest/SimpleFontInstance.cpp
@@ -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;
+}
+