/
opt
/
alt
/
libicu71
/
usr
/
share
/
doc
/
alt-libicu71-devel
/
samples
/
layout
/
/opt/alt/libicu71/usr/share/doc/alt-libicu71-devel/samples/layout
mkdir
upload
Name
Size
Mode
Actions
arraymem.h
638
0644
edit
dl
rm
cgnomelayout.c
8640
0644
edit
dl
rm
clayout.c
10052
0644
edit
dl
rm
cmaps.cpp
5420
0644
edit
dl
rm
cmaps.h
2098
0644
edit
dl
rm
FontMap.cpp
7509
0644
edit
dl
rm
FontMap.GDI
418
0644
edit
dl
rm
FontMap.Gnome
384
0644
edit
dl
rm
FontMap.h
1879
0644
edit
dl
rm
FontTableCache.cpp
2419
0644
edit
dl
rm
FontTableCache.h
1081
0644
edit
dl
rm
GDIFontInstance.cpp
9818
0644
edit
dl
rm
GDIFontInstance.h
3680
0644
edit
dl
rm
GDIFontMap.cpp
1348
0644
edit
dl
rm
GDIFontMap.h
1254
0644
edit
dl
rm
gdiglue.cpp
1699
0644
edit
dl
rm
gdiglue.h
975
0644
edit
dl
rm
GDIGUISupport.cpp
854
0644
edit
dl
rm
GDIGUISupport.h
941
0644
edit
dl
rm
GnomeFontInstance.cpp
5549
0644
edit
dl
rm
GnomeFontInstance.h
3872
0644
edit
dl
rm
GnomeFontMap.cpp
1419
0644
edit
dl
rm
GnomeFontMap.h
1232
0644
edit
dl
rm
gnomeglue.cpp
1674
0644
edit
dl
rm
gnomeglue.h
978
0644
edit
dl
rm
GnomeGUISupport.cpp
1066
0644
edit
dl
rm
GnomeGUISupport.h
953
0644
edit
dl
rm
gnomelayout.cpp
8693
0644
edit
dl
rm
gsupport.h
362
0644
edit
dl
rm
GUISupport.h
882
0644
edit
dl
rm
layout.cpp
10024
0644
edit
dl
rm
layout.sln
1202
0644
edit
dl
rm
layout.vcxproj
11750
0644
edit
dl
rm
layout.vcxproj.filters
3132
0644
edit
dl
rm
LayoutSample.rc
3434
0644
edit
dl
rm
Makefile
2975
0644
edit
dl
rm
Makefile.in
2983
0644
edit
dl
rm
paragraph.cpp
7757
0644
edit
dl
rm
paragraph.h
2224
0644
edit
dl
rm
pflow.c
9482
0644
edit
dl
rm
pflow.h
932
0644
edit
dl
rm
readme.html
7492
0644
edit
dl
rm
RenderingSurface.h
1111
0644
edit
dl
rm
resource.h
899
0644
edit
dl
rm
rsurface.cpp
704
0644
edit
dl
rm
rsurface.h
520
0644
edit
dl
rm
Sample.txt
1697
0644
edit
dl
rm
ScriptCompositeFontInstance.cpp
3266
0644
edit
dl
rm
ScriptCompositeFontInstance.h
6295
0644
edit
dl
rm
sfnt.h
5013
0644
edit
dl
rm
Surface.cpp
884
0644
edit
dl
rm
Surface.h
511
0644
edit
dl
rm
ucreader.cpp
501
0644
edit
dl
rm
ucreader.h
414
0644
edit
dl
rm
UnicodeReader.cpp
4194
0644
edit
dl
rm
UnicodeReader.h
991
0644
edit
dl
rm
Edit:
/opt/alt/libicu71/usr/share/doc/alt-libicu71-devel/samples/layout/ScriptCompositeFontInstance.h
(6295B)
/* * %W% %E% * * © 2016 and later: Unicode, Inc. and others. * License & terms of use: http://www.unicode.org/copyright.html * * (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 character 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
cmd:
run