golden hour
/opt/alt/libicu65/usr/share/doc/alt-libicu65-devel-65.1/samples/layout
⬆️ Go Up
Upload
File/Folder
Size
Actions
FontMap.GDI
426 B
Del
OK
FontMap.Gnome
392 B
Del
OK
FontMap.cpp
7.34 KB
Del
OK
FontMap.h
1.84 KB
Del
OK
FontTableCache.cpp
2.37 KB
Del
OK
FontTableCache.h
1.06 KB
Del
OK
GDIFontInstance.cpp
9.6 KB
Del
OK
GDIFontInstance.h
3.6 KB
Del
OK
GDIFontMap.cpp
1.32 KB
Del
OK
GDIFontMap.h
1.23 KB
Del
OK
GDIGUISupport.cpp
862 B
Del
OK
GDIGUISupport.h
949 B
Del
OK
GUISupport.h
890 B
Del
OK
GnomeFontInstance.cpp
5.43 KB
Del
OK
GnomeFontInstance.h
3.79 KB
Del
OK
GnomeFontMap.cpp
1.39 KB
Del
OK
GnomeFontMap.h
1.21 KB
Del
OK
GnomeGUISupport.cpp
1.05 KB
Del
OK
GnomeGUISupport.h
961 B
Del
OK
LayoutSample.rc
3.37 KB
Del
OK
Makefile
2.92 KB
Del
OK
Makefile.in
2.92 KB
Del
OK
RenderingSurface.h
1.09 KB
Del
OK
Sample.txt
1.66 KB
Del
OK
ScriptCompositeFontInstance.cpp
3.2 KB
Del
OK
ScriptCompositeFontInstance.h
6.15 KB
Del
OK
Surface.cpp
892 B
Del
OK
Surface.h
519 B
Del
OK
UnicodeReader.cpp
4.1 KB
Del
OK
UnicodeReader.h
999 B
Del
OK
arraymem.h
646 B
Del
OK
cgnomelayout.c
8.45 KB
Del
OK
clayout.c
9.82 KB
Del
OK
cmaps.cpp
5.3 KB
Del
OK
cmaps.h
2.06 KB
Del
OK
gdiglue.cpp
1.67 KB
Del
OK
gdiglue.h
983 B
Del
OK
gnomeglue.cpp
1.64 KB
Del
OK
gnomeglue.h
986 B
Del
OK
gnomelayout.cpp
8.5 KB
Del
OK
gsupport.h
370 B
Del
OK
layout.cpp
9.8 KB
Del
OK
layout.sln
1.17 KB
Del
OK
layout.vcxproj
12.92 KB
Del
OK
layout.vcxproj.filters
3.06 KB
Del
OK
paragraph.cpp
7.58 KB
Del
OK
paragraph.h
2.18 KB
Del
OK
pflow.c
9.27 KB
Del
OK
pflow.h
940 B
Del
OK
readme.html
7.32 KB
Del
OK
resource.h
907 B
Del
OK
rsurface.cpp
712 B
Del
OK
rsurface.h
528 B
Del
OK
sfnt.h
4.9 KB
Del
OK
ucreader.cpp
509 B
Del
OK
ucreader.h
422 B
Del
OK
Edit: ScriptCompositeFontInstance.h
/* * %W% %E% * * © 2016 and later: Unicode, Inc. and others. * License & terms of use: http://www.unicode.org/copyright.html#License * * (C) Copyright IBM Corp. 1998-2011 - All Rights Reserved * */ #ifndef __SCRIPTCOMPOSITEFONTINSTANCE_H #define __SCRIPTCOMPOSITEFONTINSTANCE_H #include "layout/LETypes.h" #include "layout/LEFontInstance.h" #include "FontMap.h" // U_NAMESPACE_BEGIN class ScriptCompositeFontInstance : public LEFontInstance { public: ScriptCompositeFontInstance(FontMap *fontMap); virtual ~ScriptCompositeFontInstance(); /** * Get a physical font which can render the given text. For composite fonts, * if there is no single physical font which can render all of the text, * return a physical font which can render an initial substring of the text, * and set the <code>offset</code> parameter to the end of that substring. * * Internally, the LayoutEngine works with runs of text all in the same * font and script, so it is best to call this method with text which is * in a single script, passing the script code in as a hint. If you don't * know the script of the text, you can use zero, which is the script code * for characters used in more than one script. * * The default implementation of this method is intended for instances of * <code>LEFontInstance</code> which represent a physical font. It returns * <code>this</code> and indicates that the entire string can be rendered. * * This method will return a valid <code>LEFontInstance</code> unless you * have passed illegal parameters, or an internal error has been encountered. * For composite fonts, it may return the warning <code>LE_NO_SUBFONT_WARNING</code> * to indicate that the returned font may not be able to render all of * the text. Whenever a valid font is returned, the <code>offset</code> parameter * will be advanced by at least one. * * Subclasses which implement composite fonts must override this method. * Where it makes sense, they should use the script code as a hint to render * characters from the COMMON script in the font which is used for the given * script. For example, if the input text is a series of Arabic words separated * by spaces, and the script code passed in is <code>arabScriptCode</code> you * should return the font used for Arabic characters for all of the input text, * including the spaces. If, on the other hand, the input text contains characters * which cannot be rendered by the font used for Arabic characters, but which can * be rendered by another font, you should return that font for those characters. * * @param chars - the array of Unicode characters. * @param offset - a pointer to the starting offset in the text. On exit this * will be set the the limit offset of the text which can be * rendered using the returned font. * @param limit - the limit offset for the input text. * @param script - the script hint. * @param success - set to an error code if the arguments are illegal, or no font * can be returned for some reason. May also be set to * <code>LE_NO_SUBFONT_WARNING</code> if the subfont which * was returned cannot render all of the text. * * @return an <code>LEFontInstance</code> for the sub font which can render the characters, or * <code>NULL</code> if there is an error. * * @see LEScripts.h */ virtual const LEFontInstance *getSubFont(const LEUnicode chars[], le_int32 *offset, le_int32 limit, le_int32 script, LEErrorCode &success) const; /** * This method maps a single character to a glyph index, using the * font's charcter to glyph map. * * @param ch - the character * * @return the glyph index */ virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch) const; virtual const void *getFontTable(LETag tableTag) const; virtual le_int32 getUnitsPerEM() const; virtual le_int32 getAscent() const; virtual le_int32 getDescent() const; virtual le_int32 getLeading() const; virtual void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const; virtual le_bool getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const; float getXPixelsPerEm() const; float getYPixelsPerEm() const; float getScaleFactorX() const; float getScaleFactorY() const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. */ virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); } /** * ICU "poor man's RTTI", returns a UClassID for this class. */ static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; } protected: FontMap *fFontMap; private: /** * The address of this static class variable serves as this class's ID * for ICU "poor man's RTTI". */ static const char fgClassID; }; inline const void *ScriptCompositeFontInstance::getFontTable(LETag /*tableTag*/) const { return NULL; } // Can't get units per EM without knowing which sub-font, so // return a value that will make units == points inline le_int32 ScriptCompositeFontInstance::getUnitsPerEM() const { return 1; } inline le_int32 ScriptCompositeFontInstance::getAscent() const { return fFontMap->getAscent(); } inline le_int32 ScriptCompositeFontInstance::getDescent() const { return fFontMap->getDescent(); } inline le_int32 ScriptCompositeFontInstance::getLeading() const { return fFontMap->getLeading(); } inline float ScriptCompositeFontInstance::getXPixelsPerEm() const { return fFontMap->getPointSize(); } inline float ScriptCompositeFontInstance::getYPixelsPerEm() const { return fFontMap->getPointSize(); } // Can't get a scale factor without knowing the sub-font, so // return 1.0. inline float ScriptCompositeFontInstance::getScaleFactorX() const { return 1.0; } // Can't get a scale factor without knowing the sub-font, so // return 1.0 inline float ScriptCompositeFontInstance::getScaleFactorY() const { return 1.0; } // U_NAMESPACE_END #endif
Save