/
opt
/
alt
/
libicu65
/
usr
/
share
/
doc
/
alt-libicu65-devel-65.1
/
samples
/
layout
/
Upload Filee
HOME
/* ****************************************************************************** * © 2016 and later: Unicode, Inc. and others. * * License & terms of use: http://www.unicode.org/copyright.html#License * ****************************************************************************** ****************************************************************************** * Copyright (C) 1998-2003, International Business Machines Corporation and * * others. All Rights Reserved. * ****************************************************************************** */ #ifndef __FONTMAP_H #define __FONTMAP_H #include "layout/LETypes.h" #include "layout/LEScripts.h" #include "layout/LEFontInstance.h" #include "GUISupport.h" #define BUFFER_SIZE 128 class FontMap { public: FontMap(const char *fileName, le_int16 pointSize, GUISupport *guiSupport, LEErrorCode &status); virtual ~FontMap(); virtual const LEFontInstance *getScriptFont(le_int32 scriptCode, LEErrorCode &status); virtual le_int16 getPointSize() const; virtual le_int32 getAscent() const; virtual le_int32 getDescent() const; virtual le_int32 getLeading() const; protected: virtual const LEFontInstance *openFont(const char *fontName, le_int16 pointSize, LEErrorCode &status) = 0; char errorMessage[256]; private: static char *strip(char *s); le_int32 getFontIndex(const char *fontName); void getMaxMetrics(); le_int16 fPointSize; le_int32 fFontCount; le_int32 fAscent; le_int32 fDescent; le_int32 fLeading; GUISupport *fGUISupport; const LEFontInstance *fFontInstances[scriptCodeCount]; const char *fFontNames[scriptCodeCount]; le_int32 fFontIndices[scriptCodeCount]; }; inline le_int16 FontMap::getPointSize() const { return fPointSize; } #endif