12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /*
- ******************************************************************************
- * © 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
|