namespace
TextText rendering.
Font texture creation and text layout.
This library is built if MAGNUM_WITH_TEXT
is enabled when building Magnum. To use this library with CMake, request the Text
component of the Magnum
package and link to the Magnum::Text
target:
find_package(Magnum REQUIRED Text) # ... target_link_libraries(your-app PRIVATE Magnum::Text)
Additional plugins and utilities are built separately. See particular *Font
and *FontConverter
class documentation, the magnum-fontconverter utility documentation, Downloading and building, Downloading and building plugins, Usage with CMake, Plugin usage with CMake and Loading and using plugins for more information.
Classes
- class AbstractFont
- Base for font plugins.
- class AbstractFontConverter
- Base for font converter plugins.
- class AbstractGlyphCache new in 2019.10
- Base for glyph caches.
- class AbstractLayouter deprecated in Git master
- Base for text layouters.
- class AbstractRenderer
- Base for text renderers.
- class AbstractShaper new in Git master
- Base for text shapers.
- class DistanceFieldGlyphCache
- Glyph cache with distance field rendering.
- class FeatureRange new in Git master
- OpenType feature for a text range.
- class FreeTypeFont
- FreeType font plugin.
- class GlyphCache
- Glyph cache.
- class HarfBuzzFont
- HarfBuzz font plugin.
- class MagnumFont
- Simple bitmap font plugin.
- class MagnumFontConverter
- MagnumFont converter plugin.
-
template<UnsignedInt dimensions>class Renderer
- Text renderer.
- class StbTrueTypeFont
- TrueType font plugin using stb_truetype.
Enums
- enum class FontFeature: UnsignedByte { OpenData = 1 << 0, FileCallback = 1 << 1 new in 2019.10, PreparedGlyphCache = 1 << 2 } new in 2020.06
- Features supported by a font implementation.
- enum class FontConverterFeature: UnsignedByte { ExportFont = 1 << 0, ExportGlyphCache = 1 << 1, ImportGlyphCache = 1 << 2, ConvertData = 1 << 4, MultiFile = 1 << 5 } new in 2020.06
- Features supported by a font converter.
- enum class GlyphCacheFeature: UnsignedByte { ImageProcessing = 1 << 0 new in Git master, ProcessedImageDownload = ImageProcessing|(1 << 1) new in Git master, ImageDownload = ProcessedImageDownload deprecated in Git master } new in 2019.10
- Features supported by a particular glyph cache implementation.
- enum class Alignment: UnsignedByte { LineLeft = Implementation::AlignmentLine|Implementation::AlignmentLeft, LineLeftGlyphBounds = LineLeft|Implementation::AlignmentGlyphBounds new in Git master, LineCenter = Implementation::AlignmentLine|Implementation::AlignmentCenter, LineCenterIntegral = LineCenter|Implementation::AlignmentIntegral, LineCenterGlyphBounds = LineCenter|Implementation::AlignmentGlyphBounds new in Git master, LineCenterGlyphBoundsIntegral = LineCenterGlyphBounds|Implementation::AlignmentIntegral new in Git master, LineRight = Implementation::AlignmentLine|Implementation::AlignmentRight, LineRightGlyphBounds = LineRight|Implementation::AlignmentGlyphBounds new in Git master, BottomLeft = Implementation::AlignmentBottom|Implementation::AlignmentLeft new in Git master, BottomLeftGlyphBounds = BottomLeft|Implementation::AlignmentGlyphBounds new in Git master, BottomCenter = Implementation::AlignmentBottom|Implementation::AlignmentCenter new in Git master, BottomCenterIntegral = BottomCenter|Implementation::AlignmentIntegral new in Git master, BottomCenterGlyphBounds = BottomCenter|Implementation::AlignmentGlyphBounds new in Git master, BottomCenterGlyphBoundsIntegral = BottomCenterGlyphBounds|Implementation::AlignmentIntegral new in Git master, BottomRight = Implementation::AlignmentBottom|Implementation::AlignmentRight new in Git master, BottomRightGlyphBounds = BottomRight|Implementation::AlignmentGlyphBounds new in Git master, MiddleLeft = Implementation::AlignmentMiddle|Implementation::AlignmentLeft, MiddleLeftIntegral = MiddleLeft|Implementation::AlignmentIntegral, MiddleLeftGlyphBounds = MiddleLeft|Implementation::AlignmentGlyphBounds new in Git master, MiddleLeftGlyphBoundsIntegral = MiddleLeftGlyphBounds|Implementation::AlignmentIntegral new in Git master, MiddleCenter = Implementation::AlignmentMiddle|Implementation::AlignmentCenter, MiddleCenterIntegral = MiddleCenter|Implementation::AlignmentIntegral, MiddleCenterGlyphBounds = MiddleCenter|Implementation::AlignmentGlyphBounds new in Git master, MiddleCenterGlyphBoundsIntegral = MiddleCenterGlyphBounds|Implementation::AlignmentIntegral new in Git master, MiddleRight = Implementation::AlignmentMiddle|Implementation::AlignmentRight, MiddleRightIntegral = MiddleRight|Implementation::AlignmentIntegral, MiddleRightGlyphBounds = MiddleRight|Implementation::AlignmentGlyphBounds new in Git master, MiddleRightGlyphBoundsIntegral = MiddleRightGlyphBounds|Implementation::AlignmentIntegral new in Git master, TopLeft = Implementation::AlignmentTop|Implementation::AlignmentLeft, TopLeftGlyphBounds = TopLeft|Implementation::AlignmentGlyphBounds new in Git master, TopCenter = Implementation::AlignmentTop|Implementation::AlignmentCenter, TopCenterIntegral = TopCenter|Implementation::AlignmentIntegral new in Git master, TopCenterGlyphBounds = TopCenter|Implementation::AlignmentGlyphBounds new in Git master, TopCenterGlyphBoundsIntegral = TopCenterGlyphBounds|Implementation::AlignmentIntegral new in Git master, TopRight = Implementation::AlignmentTop|Implementation::AlignmentRight, TopRightGlyphBounds = TopRight|Implementation::AlignmentGlyphBounds new in Git master }
- Text rendering alignment.
- enum class ShapeDirection: UnsignedByte { Unspecified = 0, LeftToRight = 1, RightToLeft, TopToBottom, BottomToTop } new in Git master
- Direction a text is shaped in.
- enum class LayoutDirection: UnsignedByte { Unspecified = 0, HorizontalTopToBottom = 1, VerticalLeftToRight, VerticalRightToLeft } new in Git master
- Direction a text is laid out in.
- enum class Feature: UnsignedInt { AccessAllAlternates = Utility::Endianness::fourCC('a', 'a', 'l', 't'), AboveBaseForms = Utility::Endianness::fourCC('a', 'b', 'v', 'f'), AboveBaseMarkPositioning = Utility::Endianness::fourCC('a', 'b', 'v', 'm'), AboveBaseSubstitutions = Utility::Endianness::fourCC('a', 'b', 'v', 's'), AlternativeFractions = Utility::Endianness::fourCC('a', 'f', 'r', 'c'), Akhand = Utility::Endianness::fourCC('a', 'k', 'h', 'n'), BelowBaseForms = Utility::Endianness::fourCC('b', 'l', 'w', 'f'), BelowBaseMarkPositioning = Utility::Endianness::fourCC('b', 'l', 'w', 'm'), BelowBaseSubstitutions = Utility::Endianness::fourCC('b', 'l', 'w', 's'), ContextualAlternates = Utility::Endianness::fourCC('c', 'a', 'l', 't'), CaseSensitiveForms = Utility::Endianness::fourCC('c', 'a', 's', 'e'), GlyphCompositionDecomposition = Utility::Endianness::fourCC('c', 'c', 'm', 'p'), ConjunctFormAfterRo = Utility::Endianness::fourCC('c', 'f', 'a', 'r'), ContextualHalfWidthSpacing = Utility::Endianness::fourCC('c', 'h', 'w', 's'), ConjunctForms = Utility::Endianness::fourCC('c', 'j', 'c', 't'), ContextualLigatures = Utility::Endianness::fourCC('c', 'l', 'i', 'g'), CenteredCjkPunctuation = Utility::Endianness::fourCC('c', 'p', 'c', 't'), CapitalSpacing = Utility::Endianness::fourCC('c', 'p', 's', 'p'), ContextualSwash = Utility::Endianness::fourCC('c', 's', 'w', 'h'), CursivePositioning = Utility::Endianness::fourCC('c', 'u', 'r', 's'), CharacterVariants1 = Utility::Endianness::fourCC('c', 'v', '0', '1'), CharacterVariants2 = Utility::Endianness::fourCC('c', 'v', '0', '2'), CharacterVariants3 = Utility::Endianness::fourCC('c', 'v', '0', '3'), CharacterVariants4 = Utility::Endianness::fourCC('c', 'v', '0', '4'), CharacterVariants5 = Utility::Endianness::fourCC('c', 'v', '0', '5'), CharacterVariants6 = Utility::Endianness::fourCC('c', 'v', '0', '6'), CharacterVariants7 = Utility::Endianness::fourCC('c', 'v', '0', '7'), CharacterVariants8 = Utility::Endianness::fourCC('c', 'v', '0', '8'), CharacterVariants9 = Utility::Endianness::fourCC('c', 'v', '0', '9'), CharacterVariants10 = Utility::Endianness::fourCC('c', 'v', '1', '0'), CharacterVariants11 = Utility::Endianness::fourCC('c', 'v', '1', '1'), CharacterVariants12 = Utility::Endianness::fourCC('c', 'v', '1', '2'), CharacterVariants13 = Utility::Endianness::fourCC('c', 'v', '1', '3'), CharacterVariants14 = Utility::Endianness::fourCC('c', 'v', '1', '4'), CharacterVariants15 = Utility::Endianness::fourCC('c', 'v', '1', '5'), CharacterVariants16 = Utility::Endianness::fourCC('c', 'v', '1', '6'), CharacterVariants17 = Utility::Endianness::fourCC('c', 'v', '1', '7'), CharacterVariants18 = Utility::Endianness::fourCC('c', 'v', '1', '8'), CharacterVariants19 = Utility::Endianness::fourCC('c', 'v', '1', '9'), CharacterVariants20 = Utility::Endianness::fourCC('c', 'v', '2', '0'), CharacterVariants21 = Utility::Endianness::fourCC('c', 'v', '2', '1'), CharacterVariants22 = Utility::Endianness::fourCC('c', 'v', '2', '2'), CharacterVariants23 = Utility::Endianness::fourCC('c', 'v', '2', '3'), CharacterVariants24 = Utility::Endianness::fourCC('c', 'v', '2', '4'), CharacterVariants25 = Utility::Endianness::fourCC('c', 'v', '2', '5'), CharacterVariants26 = Utility::Endianness::fourCC('c', 'v', '2', '6'), CharacterVariants27 = Utility::Endianness::fourCC('c', 'v', '2', '7'), CharacterVariants28 = Utility::Endianness::fourCC('c', 'v', '2', '8'), CharacterVariants29 = Utility::Endianness::fourCC('c', 'v', '2', '9'), CharacterVariants30 = Utility::Endianness::fourCC('c', 'v', '3', '0'), CharacterVariants31 = Utility::Endianness::fourCC('c', 'v', '3', '1'), CharacterVariants32 = Utility::Endianness::fourCC('c', 'v', '3', '2'), CharacterVariants33 = Utility::Endianness::fourCC('c', 'v', '3', '3'), CharacterVariants34 = Utility::Endianness::fourCC('c', 'v', '3', '4'), CharacterVariants35 = Utility::Endianness::fourCC('c', 'v', '3', '5'), CharacterVariants36 = Utility::Endianness::fourCC('c', 'v', '3', '6'), CharacterVariants37 = Utility::Endianness::fourCC('c', 'v', '3', '7'), CharacterVariants38 = Utility::Endianness::fourCC('c', 'v', '3', '8'), CharacterVariants39 = Utility::Endianness::fourCC('c', 'v', '3', '9'), CharacterVariants40 = Utility::Endianness::fourCC('c', 'v', '4', '0'), CharacterVariants41 = Utility::Endianness::fourCC('c', 'v', '4', '1'), CharacterVariants42 = Utility::Endianness::fourCC('c', 'v', '4', '2'), CharacterVariants43 = Utility::Endianness::fourCC('c', 'v', '4', '3'), CharacterVariants44 = Utility::Endianness::fourCC('c', 'v', '4', '4'), CharacterVariants45 = Utility::Endianness::fourCC('c', 'v', '4', '5'), CharacterVariants46 = Utility::Endianness::fourCC('c', 'v', '4', '6'), CharacterVariants47 = Utility::Endianness::fourCC('c', 'v', '4', '7'), CharacterVariants48 = Utility::Endianness::fourCC('c', 'v', '4', '8'), CharacterVariants49 = Utility::Endianness::fourCC('c', 'v', '4', '9'), CharacterVariants50 = Utility::Endianness::fourCC('c', 'v', '5', '0'), CharacterVariants51 = Utility::Endianness::fourCC('c', 'v', '5', '1'), CharacterVariants52 = Utility::Endianness::fourCC('c', 'v', '5', '2'), CharacterVariants53 = Utility::Endianness::fourCC('c', 'v', '5', '3'), CharacterVariants54 = Utility::Endianness::fourCC('c', 'v', '5', '4'), CharacterVariants55 = Utility::Endianness::fourCC('c', 'v', '5', '5'), CharacterVariants56 = Utility::Endianness::fourCC('c', 'v', '5', '6'), CharacterVariants57 = Utility::Endianness::fourCC('c', 'v', '5', '7'), CharacterVariants58 = Utility::Endianness::fourCC('c', 'v', '5', '8'), CharacterVariants59 = Utility::Endianness::fourCC('c', 'v', '5', '9'), CharacterVariants60 = Utility::Endianness::fourCC('c', 'v', '6', '0'), CharacterVariants61 = Utility::Endianness::fourCC('c', 'v', '6', '1'), CharacterVariants62 = Utility::Endianness::fourCC('c', 'v', '6', '2'), CharacterVariants63 = Utility::Endianness::fourCC('c', 'v', '6', '3'), CharacterVariants64 = Utility::Endianness::fourCC('c', 'v', '6', '4'), CharacterVariants65 = Utility::Endianness::fourCC('c', 'v', '6', '5'), CharacterVariants66 = Utility::Endianness::fourCC('c', 'v', '6', '6'), CharacterVariants67 = Utility::Endianness::fourCC('c', 'v', '6', '7'), CharacterVariants68 = Utility::Endianness::fourCC('c', 'v', '6', '8'), CharacterVariants69 = Utility::Endianness::fourCC('c', 'v', '6', '9'), CharacterVariants70 = Utility::Endianness::fourCC('c', 'v', '7', '0'), CharacterVariants71 = Utility::Endianness::fourCC('c', 'v', '7', '1'), CharacterVariants72 = Utility::Endianness::fourCC('c', 'v', '7', '2'), CharacterVariants73 = Utility::Endianness::fourCC('c', 'v', '7', '3'), CharacterVariants74 = Utility::Endianness::fourCC('c', 'v', '7', '4'), CharacterVariants75 = Utility::Endianness::fourCC('c', 'v', '7', '5'), CharacterVariants76 = Utility::Endianness::fourCC('c', 'v', '7', '6'), CharacterVariants77 = Utility::Endianness::fourCC('c', 'v', '7', '7'), CharacterVariants78 = Utility::Endianness::fourCC('c', 'v', '7', '8'), CharacterVariants79 = Utility::Endianness::fourCC('c', 'v', '7', '9'), CharacterVariants80 = Utility::Endianness::fourCC('c', 'v', '8', '0'), CharacterVariants81 = Utility::Endianness::fourCC('c', 'v', '8', '1'), CharacterVariants82 = Utility::Endianness::fourCC('c', 'v', '8', '2'), CharacterVariants83 = Utility::Endianness::fourCC('c', 'v', '8', '3'), CharacterVariants84 = Utility::Endianness::fourCC('c', 'v', '8', '4'), CharacterVariants85 = Utility::Endianness::fourCC('c', 'v', '8', '5'), CharacterVariants86 = Utility::Endianness::fourCC('c', 'v', '8', '6'), CharacterVariants87 = Utility::Endianness::fourCC('c', 'v', '8', '7'), CharacterVariants88 = Utility::Endianness::fourCC('c', 'v', '8', '8'), CharacterVariants89 = Utility::Endianness::fourCC('c', 'v', '8', '9'), CharacterVariants90 = Utility::Endianness::fourCC('c', 'v', '9', '0'), CharacterVariants91 = Utility::Endianness::fourCC('c', 'v', '9', '1'), CharacterVariants92 = Utility::Endianness::fourCC('c', 'v', '9', '2'), CharacterVariants93 = Utility::Endianness::fourCC('c', 'v', '9', '3'), CharacterVariants94 = Utility::Endianness::fourCC('c', 'v', '9', '4'), CharacterVariants95 = Utility::Endianness::fourCC('c', 'v', '9', '5'), CharacterVariants96 = Utility::Endianness::fourCC('c', 'v', '9', '6'), CharacterVariants97 = Utility::Endianness::fourCC('c', 'v', '9', '7'), CharacterVariants98 = Utility::Endianness::fourCC('c', 'v', '9', '8'), CharacterVariants99 = Utility::Endianness::fourCC('c', 'v', '9', '9'), PetiteCapitalsFromCapitals = Utility::Endianness::fourCC('c', '2', 'p', 'c'), SmallCapitalsFromCapitals = Utility::Endianness::fourCC('c', '2', 's', 'c'), Distances = Utility::Endianness::fourCC('d', 'i', 's', 't'), DiscretionaryLigatures = Utility::Endianness::fourCC('d', 'l', 'i', 'g'), Denominators = Utility::Endianness::fourCC('d', 'n', 'o', 'm'), DotlessForms = Utility::Endianness::fourCC('d', 't', 'l', 's'), ExpertForms = Utility::Endianness::fourCC('e', 'x', 'p', 't'), FinalGlyphOnLineAlternates = Utility::Endianness::fourCC('f', 'a', 'l', 't'), TerminalForms = Utility::Endianness::fourCC('f', 'i', 'n', 'a'), TerminalForms2 = Utility::Endianness::fourCC('f', 'i', 'n', '2'), TerminalForms3 = Utility::Endianness::fourCC('f', 'i', 'n', '3'), FlattenedAccentForms = Utility::Endianness::fourCC('f', 'l', 'a', 'c'), Fractions = Utility::Endianness::fourCC('f', 'r', 'a', 'c'), FullWidths = Utility::Endianness::fourCC('f', 'w', 'i', 'd'), HalfForms = Utility::Endianness::fourCC('h', 'a', 'l', 'f'), HalantForms = Utility::Endianness::fourCC('h', 'a', 'l', 'n'), AlternateHalfWidths = Utility::Endianness::fourCC('h', 'a', 'l', 't'), HistoricalForms = Utility::Endianness::fourCC('h', 'i', 's', 't'), HorizontalKanaAlternates = Utility::Endianness::fourCC('h', 'k', 'n', 'a'), HistoricalLigatures = Utility::Endianness::fourCC('h', 'l', 'i', 'g'), Hangul = Utility::Endianness::fourCC('h', 'n', 'g', 'l'), HojoKanjiForms = Utility::Endianness::fourCC('h', 'o', 'j', 'o'), HalfWidths = Utility::Endianness::fourCC('h', 'w', 'i', 'd'), InitialForms = Utility::Endianness::fourCC('i', 'n', 'i', 't'), IsolatedForms = Utility::Endianness::fourCC('i', 's', 'o', 'l'), Italics = Utility::Endianness::fourCC('i', 't', 'a', 'l'), JustificationAlternates = Utility::Endianness::fourCC('j', 'a', 'l', 't'), Jis78Forms = Utility::Endianness::fourCC('j', 'p', '7', '8'), Jis83Forms = Utility::Endianness::fourCC('j', 'p', '8', '3'), Jis90Forms = Utility::Endianness::fourCC('j', 'p', '9', '0'), Jis2004Forms = Utility::Endianness::fourCC('j', 'p', '0', '4'), Kerning = Utility::Endianness::fourCC('k', 'e', 'r', 'n'), LeftBounds = Utility::Endianness::fourCC('l', 'f', 'b', 'd'), StandardLigatures = Utility::Endianness::fourCC('l', 'i', 'g', 'a'), LeadingJamoForms = Utility::Endianness::fourCC('l', 'j', 'm', 'o'), LiningFigures = Utility::Endianness::fourCC('l', 'n', 'u', 'm'), LocalizedForms = Utility::Endianness::fourCC('l', 'o', 'c', 'l'), LeftToRightAlternates = Utility::Endianness::fourCC('l', 't', 'r', 'a'), LeftToRightMirroredForms = Utility::Endianness::fourCC('l', 't', 'r', 'm'), MarkPositioning = Utility::Endianness::fourCC('m', 'a', 'r', 'k'), MedialForms = Utility::Endianness::fourCC('m', 'e', 'd', 'i'), MedialForms2 = Utility::Endianness::fourCC('m', 'e', 'd', '2'), MathematicalGreek = Utility::Endianness::fourCC('m', 'g', 'r', 'k'), MarkToMarkPositioning = Utility::Endianness::fourCC('m', 'k', 'm', 'k'), MarkPositioningViaSubstitution = Utility::Endianness::fourCC('m', 's', 'e', 't'), AlternateAnnotationForms = Utility::Endianness::fourCC('n', 'a', 'l', 't'), NlcKanjiForms = Utility::Endianness::fourCC('n', 'l', 'c', 'k'), NuktaForms = Utility::Endianness::fourCC('n', 'u', 'k', 't'), Numerators = Utility::Endianness::fourCC('n', 'u', 'm', 'r'), OldstyleFigures = Utility::Endianness::fourCC('o', 'n', 'u', 'm'), OpticalBounds = Utility::Endianness::fourCC('o', 'p', 'b', 'd'), Ordinals = Utility::Endianness::fourCC('o', 'r', 'd', 'n'), Ornaments = Utility::Endianness::fourCC('o', 'r', 'n', 'm'), ProportionalAlternateWidths = Utility::Endianness::fourCC('p', 'a', 'l', 't'), PetiteCapitals = Utility::Endianness::fourCC('p', 'c', 'a', 'p'), ProportionalKana = Utility::Endianness::fourCC('p', 'k', 'n', 'a'), ProportionalFigures = Utility::Endianness::fourCC('p', 'n', 'u', 'm'), PreBaseForms = Utility::Endianness::fourCC('p', 'r', 'e', 'f'), PreBaseSubstitutions = Utility::Endianness::fourCC('p', 'r', 'e', 's'), PostBaseForms = Utility::Endianness::fourCC('p', 's', 't', 'f'), PostBaseSubstitutions = Utility::Endianness::fourCC('p', 's', 't', 's'), ProportionalWidths = Utility::Endianness::fourCC('p', 'w', 'i', 'd'), QuarterWidths = Utility::Endianness::fourCC('q', 'w', 'i', 'd'), Randomize = Utility::Endianness::fourCC('r', 'a', 'n', 'd'), RequiredContextualAlternates = Utility::Endianness::fourCC('r', 'c', 'l', 't'), RakarForms = Utility::Endianness::fourCC('r', 'k', 'r', 'f'), RequiredLigatures = Utility::Endianness::fourCC('r', 'l', 'i', 'g'), RephForms = Utility::Endianness::fourCC('r', 'p', 'h', 'f'), RightBounds = Utility::Endianness::fourCC('r', 't', 'b', 'd'), RightToLeftAlternates = Utility::Endianness::fourCC('r', 't', 'l', 'a'), RightToLeftMirroredForms = Utility::Endianness::fourCC('r', 't', 'l', 'm'), RubyNotationForms = Utility::Endianness::fourCC('r', 'u', 'b', 'y'), RequiredVariationAlternates = Utility::Endianness::fourCC('r', 'v', 'r', 'n'), StylisticAlternates = Utility::Endianness::fourCC('s', 'a', 'l', 't'), ScientificInferiors = Utility::Endianness::fourCC('s', 'i', 'n', 'f'), OpticalSize = Utility::Endianness::fourCC('s', 'i', 'z', 'e'), SmallCapitals = Utility::Endianness::fourCC('s', 'm', 'c', 'p'), SimplifiedForms = Utility::Endianness::fourCC('s', 'm', 'p', 'l'), StylisticSet1 = Utility::Endianness::fourCC('s', 's', '0', '1'), StylisticSet2 = Utility::Endianness::fourCC('s', 's', '0', '2'), StylisticSet3 = Utility::Endianness::fourCC('s', 's', '0', '3'), StylisticSet4 = Utility::Endianness::fourCC('s', 's', '0', '4'), StylisticSet5 = Utility::Endianness::fourCC('s', 's', '0', '5'), StylisticSet6 = Utility::Endianness::fourCC('s', 's', '0', '6'), StylisticSet7 = Utility::Endianness::fourCC('s', 's', '0', '7'), StylisticSet8 = Utility::Endianness::fourCC('s', 's', '0', '8'), StylisticSet9 = Utility::Endianness::fourCC('s', 's', '0', '9'), StylisticSet10 = Utility::Endianness::fourCC('s', 's', '1', '0'), StylisticSet11 = Utility::Endianness::fourCC('s', 's', '1', '1'), StylisticSet12 = Utility::Endianness::fourCC('s', 's', '1', '2'), StylisticSet13 = Utility::Endianness::fourCC('s', 's', '1', '3'), StylisticSet14 = Utility::Endianness::fourCC('s', 's', '1', '4'), StylisticSet15 = Utility::Endianness::fourCC('s', 's', '1', '5'), StylisticSet16 = Utility::Endianness::fourCC('s', 's', '1', '6'), StylisticSet17 = Utility::Endianness::fourCC('s', 's', '1', '7'), StylisticSet18 = Utility::Endianness::fourCC('s', 's', '1', '8'), StylisticSet19 = Utility::Endianness::fourCC('s', 's', '1', '9'), StylisticSet20 = Utility::Endianness::fourCC('s', 's', '2', '0'), MathScriptStyleAlternates = Utility::Endianness::fourCC('s', 's', 't', 'y'), StretchingGlyphDecomposition = Utility::Endianness::fourCC('s', 't', 'c', 'h'), Subscript = Utility::Endianness::fourCC('s', 'u', 'b', 's'), Superscript = Utility::Endianness::fourCC('s', 'u', 'p', 's'), Swash = Utility::Endianness::fourCC('s', 'w', 's', 'h'), Titling = Utility::Endianness::fourCC('t', 'i', 't', 'l'), TrailingJamoForms = Utility::Endianness::fourCC('t', 'j', 'm', 'o'), TraditionalNameForms = Utility::Endianness::fourCC('t', 'n', 'a', 'm'), TabularFigures = Utility::Endianness::fourCC('t', 'n', 'u', 'm'), TraditionalForms = Utility::Endianness::fourCC('t', 'r', 'a', 'd'), ThirdWidths = Utility::Endianness::fourCC('t', 'w', 'i', 'd'), Unicase = Utility::Endianness::fourCC('u', 'n', 'i', 'c'), AlternateVerticalMetrics = Utility::Endianness::fourCC('v', 'a', 'l', 't'), VattuVariants = Utility::Endianness::fourCC('v', 'a', 't', 'u'), VerticalContextualHalfWidthSpacing = Utility::Endianness::fourCC('v', 'c', 'h', 'w'), VerticalWriting = Utility::Endianness::fourCC('v', 'e', 'r', 't'), AlternateVerticalHalfMetrics = Utility::Endianness::fourCC('v', 'h', 'a', 'l'), VowelJamoForms = Utility::Endianness::fourCC('v', 'j', 'm', 'o'), VerticalKanaAlternates = Utility::Endianness::fourCC('v', 'k', 'n', 'a'), VerticalKerning = Utility::Endianness::fourCC('v', 'k', 'r', 'n'), ProportionalAlternateVerticalMetrics = Utility::Endianness::fourCC('v', 'p', 'a', 'l'), VerticalAlternatesAndRotation = Utility::Endianness::fourCC('v', 'r', 't', '2'), VerticalAlternatesForRotation = Utility::Endianness::fourCC('v', 'r', 't', 'r'), SlashedZero = Utility::Endianness::fourCC('z', 'e', 'r', 'o') } new in Git master
- OpenType typographic feature.
- enum class Script: UnsignedInt { Unspecified = 0, Inherited = Utility::Endianness::fourCC('Z', 'i', 'n', 'h'), Math = Utility::Endianness::fourCC('Z', 'm', 't', 'h'), Common = Utility::Endianness::fourCC('Z', 'y', 'y', 'y'), Unknown = Utility::Endianness::fourCC('Z', 'z', 'z', 'z'), Adlam = Utility::Endianness::fourCC('A', 'd', 'l', 'm'), CaucasianAlbanian = Utility::Endianness::fourCC('A', 'g', 'h', 'b'), Ahom = Utility::Endianness::fourCC('A', 'h', 'o', 'm'), Arabic = Utility::Endianness::fourCC('A', 'r', 'a', 'b'), ImperialAramaic = Utility::Endianness::fourCC('A', 'r', 'm', 'i'), Armenian = Utility::Endianness::fourCC('A', 'r', 'm', 'n'), Avestan = Utility::Endianness::fourCC('A', 'v', 's', 't'), Balinese = Utility::Endianness::fourCC('B', 'a', 'l', 'i'), Bamum = Utility::Endianness::fourCC('B', 'a', 'm', 'u'), BassaVah = Utility::Endianness::fourCC('B', 'a', 's', 's'), Batak = Utility::Endianness::fourCC('B', 'a', 't', 'k'), Bengali = Utility::Endianness::fourCC('B', 'e', 'n', 'g'), Bhaiksuki = Utility::Endianness::fourCC('B', 'h', 'k', 's'), Bopomofo = Utility::Endianness::fourCC('B', 'o', 'p', 'o'), Brahmi = Utility::Endianness::fourCC('B', 'r', 'a', 'h'), Braille = Utility::Endianness::fourCC('B', 'r', 'a', 'i'), Buginese = Utility::Endianness::fourCC('B', 'u', 'g', 'i'), Buhid = Utility::Endianness::fourCC('B', 'u', 'h', 'd'), Chakma = Utility::Endianness::fourCC('C', 'a', 'k', 'm'), CanadianAboriginal = Utility::Endianness::fourCC('C', 'a', 'n', 's'), Carian = Utility::Endianness::fourCC('C', 'a', 'r', 'i'), Cham = Utility::Endianness::fourCC('C', 'h', 'a', 'm'), Cherokee = Utility::Endianness::fourCC('C', 'h', 'e', 'r'), Chorasmian = Utility::Endianness::fourCC('C', 'h', 'r', 's'), Coptic = Utility::Endianness::fourCC('C', 'o', 'p', 't'), CyproMinoan = Utility::Endianness::fourCC('C', 'p', 'm', 'n'), Cypriot = Utility::Endianness::fourCC('C', 'p', 'r', 't'), Cyrillic = Utility::Endianness::fourCC('C', 'y', 'r', 'l'), Devanagari = Utility::Endianness::fourCC('D', 'e', 'v', 'a'), DivesAkuru = Utility::Endianness::fourCC('D', 'i', 'a', 'k'), Dogra = Utility::Endianness::fourCC('D', 'o', 'g', 'r'), Deseret = Utility::Endianness::fourCC('D', 's', 'r', 't'), Duployan = Utility::Endianness::fourCC('D', 'u', 'p', 'l'), EgyptianHieroglyphs = Utility::Endianness::fourCC('E', 'g', 'y', 'p'), Elbasan = Utility::Endianness::fourCC('E', 'l', 'b', 'a'), Elymaic = Utility::Endianness::fourCC('E', 'l', 'y', 'm'), Ethiopic = Utility::Endianness::fourCC('E', 't', 'h', 'i'), Georgian = Utility::Endianness::fourCC('G', 'e', 'o', 'r'), Glagolitic = Utility::Endianness::fourCC('G', 'l', 'a', 'g'), GunjalaGondi = Utility::Endianness::fourCC('G', 'o', 'n', 'g'), MasaramGondi = Utility::Endianness::fourCC('G', 'o', 'n', 'm'), Gothic = Utility::Endianness::fourCC('G', 'o', 't', 'h'), Grantha = Utility::Endianness::fourCC('G', 'r', 'a', 'n'), Greek = Utility::Endianness::fourCC('G', 'r', 'e', 'k'), Gujarati = Utility::Endianness::fourCC('G', 'u', 'j', 'r'), Gurmukhi = Utility::Endianness::fourCC('G', 'u', 'r', 'u'), Hangul = Utility::Endianness::fourCC('H', 'a', 'n', 'g'), Han = Utility::Endianness::fourCC('H', 'a', 'n', 'i'), Hanunoo = Utility::Endianness::fourCC('H', 'a', 'n', 'o'), Hatran = Utility::Endianness::fourCC('H', 'a', 't', 'r'), Hebrew = Utility::Endianness::fourCC('H', 'e', 'b', 'r'), Hiragana = Utility::Endianness::fourCC('H', 'i', 'r', 'a'), AnatolianHieroglyphs = Utility::Endianness::fourCC('H', 'l', 'u', 'w'), PahawhHmong = Utility::Endianness::fourCC('H', 'm', 'n', 'g'), NyiakengPuachueHmong = Utility::Endianness::fourCC('H', 'm', 'n', 'p'), OldHungarian = Utility::Endianness::fourCC('H', 'u', 'n', 'g'), OldItalic = Utility::Endianness::fourCC('I', 't', 'a', 'l'), Javanese = Utility::Endianness::fourCC('J', 'a', 'v', 'a'), KayahLi = Utility::Endianness::fourCC('K', 'a', 'l', 'i'), Katakana = Utility::Endianness::fourCC('K', 'a', 'n', 'a'), Kawi = Utility::Endianness::fourCC('K', 'a', 'w', 'i'), Kharoshthi = Utility::Endianness::fourCC('K', 'h', 'a', 'r'), Khmer = Utility::Endianness::fourCC('K', 'h', 'm', 'r'), Khojki = Utility::Endianness::fourCC('K', 'h', 'o', 'j'), KhitanSmallScript = Utility::Endianness::fourCC('K', 'i', 't', 's'), Kannada = Utility::Endianness::fourCC('K', 'n', 'd', 'a'), Kaithi = Utility::Endianness::fourCC('K', 't', 'h', 'i'), TaiTham = Utility::Endianness::fourCC('L', 'a', 'n', 'a'), Lao = Utility::Endianness::fourCC('L', 'a', 'o', 'o'), Latin = Utility::Endianness::fourCC('L', 'a', 't', 'n'), Lepcha = Utility::Endianness::fourCC('L', 'e', 'p', 'c'), Limbu = Utility::Endianness::fourCC('L', 'i', 'm', 'b'), LinearA = Utility::Endianness::fourCC('L', 'i', 'n', 'a'), LinearB = Utility::Endianness::fourCC('L', 'i', 'n', 'b'), Lisu = Utility::Endianness::fourCC('L', 'i', 's', 'u'), Lycian = Utility::Endianness::fourCC('L', 'y', 'c', 'i'), Lydian = Utility::Endianness::fourCC('L', 'y', 'd', 'i'), Mahajani = Utility::Endianness::fourCC('M', 'a', 'h', 'j'), Makasar = Utility::Endianness::fourCC('M', 'a', 'k', 'a'), Mandaic = Utility::Endianness::fourCC('M', 'a', 'n', 'd'), Manichaean = Utility::Endianness::fourCC('M', 'a', 'n', 'i'), Marchen = Utility::Endianness::fourCC('M', 'a', 'r', 'c'), Medefaidrin = Utility::Endianness::fourCC('M', 'e', 'd', 'f'), MendeKikakui = Utility::Endianness::fourCC('M', 'e', 'n', 'd'), MeroiticCursive = Utility::Endianness::fourCC('M', 'e', 'r', 'c'), MeroiticHieroglyphs = Utility::Endianness::fourCC('M', 'e', 'r', 'o'), Malayalam = Utility::Endianness::fourCC('M', 'l', 'y', 'm'), Modi = Utility::Endianness::fourCC('M', 'o', 'd', 'i'), Mongolian = Utility::Endianness::fourCC('M', 'o', 'n', 'g'), Mro = Utility::Endianness::fourCC('M', 'r', 'o', 'o'), MeeteiMayek = Utility::Endianness::fourCC('M', 't', 'e', 'i'), Multani = Utility::Endianness::fourCC('M', 'u', 'l', 't'), Myanmar = Utility::Endianness::fourCC('M', 'y', 'm', 'r'), NagMundari = Utility::Endianness::fourCC('N', 'a', 'g', 'm'), Nandinagari = Utility::Endianness::fourCC('N', 'a', 'n', 'd'), OldNorthArabian = Utility::Endianness::fourCC('N', 'a', 'r', 'b'), Nabataean = Utility::Endianness::fourCC('N', 'b', 'a', 't'), Newa = Utility::Endianness::fourCC('N', 'e', 'w', 'a'), NKo = Utility::Endianness::fourCC('N', 'k', 'o', 'o'), Nushu = Utility::Endianness::fourCC('N', 's', 'h', 'u'), Ogham = Utility::Endianness::fourCC('O', 'g', 'a', 'm'), OlChiki = Utility::Endianness::fourCC('O', 'l', 'c', 'k'), OldTurkic = Utility::Endianness::fourCC('O', 'r', 'k', 'h'), Oriya = Utility::Endianness::fourCC('O', 'r', 'y', 'a'), Osage = Utility::Endianness::fourCC('O', 's', 'g', 'e'), Osmanya = Utility::Endianness::fourCC('O', 's', 'm', 'a'), OldUyghur = Utility::Endianness::fourCC('O', 'u', 'g', 'r'), Palmyrene = Utility::Endianness::fourCC('P', 'a', 'l', 'm'), PauCinHau = Utility::Endianness::fourCC('P', 'a', 'u', 'c'), OldPermic = Utility::Endianness::fourCC('P', 'e', 'r', 'm'), PhagsPa = Utility::Endianness::fourCC('P', 'h', 'a', 'g'), InscriptionalPahlavi = Utility::Endianness::fourCC('P', 'h', 'l', 'i'), PsalterPahlavi = Utility::Endianness::fourCC('P', 'h', 'l', 'p'), Phoenician = Utility::Endianness::fourCC('P', 'h', 'n', 'x'), Miao = Utility::Endianness::fourCC('P', 'l', 'r', 'd'), InscriptionalParthian = Utility::Endianness::fourCC('P', 'r', 't', 'i'), Rejang = Utility::Endianness::fourCC('R', 'j', 'n', 'g'), HanifiRohingya = Utility::Endianness::fourCC('R', 'o', 'h', 'g'), Runic = Utility::Endianness::fourCC('R', 'u', 'n', 'r'), Samaritan = Utility::Endianness::fourCC('S', 'a', 'm', 'r'), OldSouthArabian = Utility::Endianness::fourCC('S', 'a', 'r', 'b'), Saurashtra = Utility::Endianness::fourCC('S', 'a', 'u', 'r'), SignWriting = Utility::Endianness::fourCC('S', 'g', 'n', 'w'), Shavian = Utility::Endianness::fourCC('S', 'h', 'a', 'w'), Sharada = Utility::Endianness::fourCC('S', 'h', 'r', 'd'), Siddham = Utility::Endianness::fourCC('S', 'i', 'd', 'd'), Khudawadi = Utility::Endianness::fourCC('S', 'i', 'n', 'd'), Sinhala = Utility::Endianness::fourCC('S', 'i', 'n', 'h'), Sogdian = Utility::Endianness::fourCC('S', 'o', 'g', 'd'), OldSogdian = Utility::Endianness::fourCC('S', 'o', 'g', 'o'), SoraSompeng = Utility::Endianness::fourCC('S', 'o', 'r', 'a'), Soyombo = Utility::Endianness::fourCC('S', 'o', 'y', 'o'), Sundanese = Utility::Endianness::fourCC('S', 'u', 'n', 'd'), SylotiNagri = Utility::Endianness::fourCC('S', 'y', 'l', 'o'), Syriac = Utility::Endianness::fourCC('S', 'y', 'r', 'c'), Tagbanwa = Utility::Endianness::fourCC('T', 'a', 'g', 'b'), Takri = Utility::Endianness::fourCC('T', 'a', 'k', 'r'), TaiLe = Utility::Endianness::fourCC('T', 'a', 'l', 'e'), NewTaiLue = Utility::Endianness::fourCC('T', 'a', 'l', 'u'), Tamil = Utility::Endianness::fourCC('T', 'a', 'm', 'l'), Tangut = Utility::Endianness::fourCC('T', 'a', 'n', 'g'), TaiViet = Utility::Endianness::fourCC('T', 'a', 'v', 't'), Telugu = Utility::Endianness::fourCC('T', 'e', 'l', 'u'), Tifinagh = Utility::Endianness::fourCC('T', 'f', 'n', 'g'), Tagalog = Utility::Endianness::fourCC('T', 'g', 'l', 'g'), Thaana = Utility::Endianness::fourCC('T', 'h', 'a', 'a'), Thai = Utility::Endianness::fourCC('T', 'h', 'a', 'i'), Tibetan = Utility::Endianness::fourCC('T', 'i', 'b', 't'), Tirhuta = Utility::Endianness::fourCC('T', 'i', 'r', 'h'), Tangsa = Utility::Endianness::fourCC('T', 'n', 's', 'a'), Toto = Utility::Endianness::fourCC('T', 'o', 't', 'o'), Ugaritic = Utility::Endianness::fourCC('U', 'g', 'a', 'r'), Vai = Utility::Endianness::fourCC('V', 'a', 'i', 'i'), Vithkuqi = Utility::Endianness::fourCC('V', 'i', 't', 'h'), WarangCiti = Utility::Endianness::fourCC('W', 'a', 'r', 'a'), Wancho = Utility::Endianness::fourCC('W', 'c', 'h', 'o'), OldPersian = Utility::Endianness::fourCC('X', 'p', 'e', 'o'), Cuneiform = Utility::Endianness::fourCC('X', 's', 'u', 'x'), Yezidi = Utility::Endianness::fourCC('Y', 'e', 'z', 'i'), Yi = Utility::Endianness::fourCC('Y', 'i', 'i', 'i'), ZanabazarSquare = Utility::Endianness::fourCC('Z', 'a', 'n', 'b') } new in Git master
- Script a text is written in.
Typedefs
-
using FontFeatures = Containers::
EnumSet<FontFeature> new in 2020.06 - Set of features supported by a font implementation.
-
using FontConverterFeatures = Containers::
EnumSet<FontConverterFeature> new in 2020.06 - Features supported by a font converter.
-
using GlyphCacheFeatures = Containers::
EnumSet<GlyphCacheFeature> new in 2019.10 - Set of features supported by a glyph cache.
- using Renderer2D = Renderer<2>
- Two-dimensional text renderer.
- using Renderer3D = Renderer<3>
- Three-dimensional text renderer.
Functions
- auto operator<<(Debug& debug, FontFeature value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, FontFeatures value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, FontConverterFeature value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, FontConverterFeatures value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& output, GlyphCacheFeature value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& output, GlyphCacheFeatures value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, Alignment value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, ShapeDirection value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, LayoutDirection value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, Feature value) -> Debug&
- Debug output operator.
- auto feature(char a, char b, char c, char d) -> Feature constexpr new in Git master
- Create a Feature value from a four-character code.
-
auto feature(Containers::
StringView fourCC) -> Feature new in Git master - Create a Feature value from a string.
-
auto renderLineGlyphPositionsInto(const AbstractFont& font,
Float size,
LayoutDirection direction,
const Containers::
StridedArrayView1D<const Vector2>& glyphOffsets, const Containers:: StridedArrayView1D<const Vector2>& glyphAdvances, Vector2& cursor, const Containers:: StridedArrayView1D<Vector2>& glyphPositions) -> Range2D new in Git master - Render glyph positions for a (part of a) single line.
-
auto renderGlyphQuadsInto(const AbstractFont& font,
Float size,
const AbstractGlyphCache& cache,
const Containers::
StridedArrayView1D<const Vector2>& glyphPositions, const Containers:: StridedArrayView1D<const UnsignedInt>& fontGlyphIds, const Containers:: StridedArrayView1D<Vector2>& vertexPositions, const Containers:: StridedArrayView1D<Vector3>& vertexTextureCoordinates) -> Range2D new in Git master - Render glyph quads for a (part of a) single line from font-specific glyph IDs.
-
auto renderGlyphQuadsInto(const AbstractFont& font,
Float size,
const AbstractGlyphCache& cache,
const Containers::
StridedArrayView1D<const Vector2>& glyphPositions, const Containers:: StridedArrayView1D<const UnsignedInt>& fontGlyphIds, const Containers:: StridedArrayView1D<Vector2>& vertexPositions, const Containers:: StridedArrayView1D<Vector2>& vertexTextureCoordinates) -> Range2D new in Git master - Render glyph quads for a (part of a) single line from font-specific glyph IDs and a 2D glyph cache.
-
auto renderGlyphQuadsInto(const AbstractGlyphCache& cache,
Float scale,
const Containers::
StridedArrayView1D<const Vector2>& glyphPositions, const Containers:: StridedArrayView1D<const UnsignedInt>& glyphIds, const Containers:: StridedArrayView1D<Vector2>& vertexPositions, const Containers:: StridedArrayView1D<Vector3>& vertexTextureCoordinates) -> Range2D new in Git master - Render glyph quads for a (part of a) single line from cache-global glyph IDs.
-
auto renderGlyphQuadsInto(const AbstractGlyphCache& cache,
Float scale,
const Containers::
StridedArrayView1D<const Vector2>& glyphPositions, const Containers:: StridedArrayView1D<const UnsignedInt>& glyphIds, const Containers:: StridedArrayView1D<Vector2>& vertexPositions, const Containers:: StridedArrayView1D<Vector2>& vertexTextureCoordinates) -> Range2D new in Git master - Render glyph quads for a (part of a) single line from cache-global glyph IDs and a 2D glyph cache.
-
auto alignRenderedLine(const Range2D& lineRectangle,
LayoutDirection direction,
Alignment alignment,
const Containers::
StridedArrayView1D<Vector2>& positions) -> Range2D new in Git master - Align a rendered line.
-
auto alignRenderedBlock(const Range2D& blockRectangle,
LayoutDirection direction,
Alignment alignment,
const Containers::
StridedArrayView1D<Vector2>& positions) -> Range2D new in Git master - Align a rendered block.
-
void renderGlyphQuadIndicesInto(UnsignedInt glyphOffset,
const Containers::
StridedArrayView1D<UnsignedInt>& indices) new in Git master - Render 32-bit glyph quad indices.
-
void renderGlyphQuadIndicesInto(UnsignedInt glyphOffset,
const Containers::
StridedArrayView1D<UnsignedShort>& indices) new in Git master - Render 16-bit glyph quad indices.
-
void renderGlyphQuadIndicesInto(UnsignedInt glyphOffset,
const Containers::
StridedArrayView1D<UnsignedByte>& indices) new in Git master - Render 8-bit glyph quad indices.
- auto operator<<(Debug& debug, Script value) -> Debug&
- Debug output operator.
- auto script(char a, char b, char c, char d) -> Script constexpr new in Git master
- Create a Script value from a four-character code.
-
auto script(Containers::
StringView fourCC) -> Script new in Git master - Create a Script value from a string.
Enum documentation
enum class Magnum:: Text:: FontFeature: UnsignedByte new in 2020.06
#include <Magnum/Text/AbstractFont.h>
Features supported by a font implementation.
Enumerators | |
---|---|
OpenData |
Opening fonts from raw data using AbstractFont:: |
FileCallback new in 2019.10 |
Specifying callbacks for loading additional files referenced from the main file using AbstractFont:: See Loading data from memory, using file callbacks and particular font plugin documentation for more information. |
PreparedGlyphCache |
The font contains a prepared glyph cache. |
enum class Magnum:: Text:: FontConverterFeature: UnsignedByte new in 2020.06
Features supported by a font converter.
enum class Magnum:: Text:: GlyphCacheFeature: UnsignedByte new in 2019.10
#include <Magnum/Text/AbstractGlyphCache.h>
Features supported by a particular glyph cache implementation.
Enumerators | |
---|---|
ImageProcessing new in Git master |
The glyph cache processes the input image, potentially to a different size or format. |
ProcessedImageDownload new in Git master |
Ability to download processed image data using AbstractGlyphCache:: |
ImageDownload |
enum class Magnum:: Text:: Alignment: UnsignedByte
#include <Magnum/Text/Alignment.h>
Text rendering alignment.
By default, the alignment is performed based on cursor position and font metric alone, without taking actual glyph offsets and rectangles into account. This allows the alignment to be performed even before actual glyph bounds are known and avoids the position changing based on what concrete glyphs are present. Aligning to actual glyph rectangle bounds can be done with the *GlyphBounds
variants.
The *Integer
values are meant to be used for pixel-perfect fonts that always have glyph sizes, advances and other metrics whole pixels, and need to be positioned on whole pixels as well in order to avoid making them blurry. These are only needed for *Middle
and *Center
alignments as they may result in the bounding rectangle to have odd dimensions, which would then result in half-pixel shifts when divided by 2.
Enumerators | |
---|---|
LineLeft |
Leftmost cursor position and vertical line position is at origin. |
LineLeftGlyphBounds new in Git master |
Left side of the glyph bounding rectangle and vertical line position is at origin. |
LineCenter |
Midpoint between leftmost and rightmost cursor position and vertical line position is at origin. |
LineCenterIntegral |
Midpoint between leftmost and rightmost cursor position and vertical line position is at origin, with the horizontal offset rounded to whole units. |
LineCenterGlyphBounds new in Git master |
Horizontal center of the glyph bounding rectangle and vertical line position is at origin. |
LineCenterGlyphBoundsIntegral new in Git master |
Horizontal center of the glyph bounding rectangle and vertical line position is at origin, with the horizontal offset rounded to whole units. |
LineRight |
Rightmost cursor position and vertical line position is at origin. |
LineRightGlyphBounds new in Git master |
Right side of the glyph bounding rectangle and vertical line position is at origin. |
BottomLeft new in Git master |
Leftmost cursor position and bottommost line descent is at origin. |
BottomLeftGlyphBounds new in Git master |
Bottom left corner of the glyph bounding rectangle is at origin. |
BottomCenter new in Git master |
Midpoint between leftmost and rightmost cursor position and bottommost line decent is at origin. |
BottomCenterIntegral new in Git master |
Midpoint between leftmost and rightmost cursor position and bottommost line descent is at origin, with the horizontal offset rounded to whole units. |
BottomCenterGlyphBounds new in Git master |
Horizontal center and bottom side of the glyph bounding rectangle is at origin. |
BottomCenterGlyphBoundsIntegral new in Git master |
Horizontal center and bottom side of the glyph bounding rectangle is at origin, with the horizontal offset rounded to whole units. |
BottomRight new in Git master |
Rightmost cursor position and bottommost line descent is at origin. |
BottomRightGlyphBounds new in Git master |
Bottom right corner of the glyph bounding rectangle is at origin. |
MiddleLeft |
Leftmost cursor position and a midpoint between topmost line ascent and bottommost line descent is at origin. |
MiddleLeftIntegral |
Leftmost cursor position and a midpoint between topmost line ascent and bottommost line descent is at origin, with the vertical offset rounded to whole units. |
MiddleLeftGlyphBounds new in Git master |
Left side and vertical center of the glyph bounding rectangle is at origin. |
MiddleLeftGlyphBoundsIntegral new in Git master |
Left side and vertical center of the glyph bounding rectangle is at origin, with the vertical offset rounded to whole units. |
MiddleCenter |
Midpoint between leftmost and rightmost cursor position and a midpoint between topmost line ascent and bottommost line descent is at origin. |
MiddleCenterIntegral |
Midpoint between leftmost and rightmost cursor position and a midpoint between topmost line ascent and bottommost line descent is at origin, with both the horizontal and vertical offset rounded to whole units. |
MiddleCenterGlyphBounds new in Git master |
Horizontal and vertical center of the glyph bounding rectangle is at origin. |
MiddleCenterGlyphBoundsIntegral new in Git master |
Horizontal and vertical center of the glyph bounding rectangle is at origin, with both the horizontal and vertical offset rounded to whole units. |
MiddleRight |
Rightmost cursor position and a midpoint between topmost line ascent and bottommost line descent is at origin. |
MiddleRightIntegral |
Rightmost cursor position and a midpoint between topmost line ascent and bottommost line descent is at origin, with the vertical offset rounded to whole units. |
MiddleRightGlyphBounds new in Git master |
Right side and vertical center of the glyph bounding rectangle is at origin. |
MiddleRightGlyphBoundsIntegral new in Git master |
Right side and vertical center of the glyph bounding rectangle is at origin, with the vertical offset rounded to whole units. |
TopLeft |
Leftmost cursor position and topmost line ascent is at origin. |
TopLeftGlyphBounds new in Git master |
Top left corner of the glyph bounding rectangle is at origin. |
TopCenter |
Midpoint between leftmost and rightmost cursor position and topmost line ascent is at origin. |
TopCenterIntegral new in Git master |
Midpoint between leftmost and rightmost cursor position and topmost line ascent is at origin, with the horizontal offset rounded to whole units. |
TopCenterGlyphBounds new in Git master |
Horizontal center and top side of the glyph bounding rectangle is at origin. |
TopCenterGlyphBoundsIntegral new in Git master |
Horizontal center and top side of the glyph bounding rectangle is at origin, with the horizontal offset rounded to whole units. |
TopRight |
Rightmost cursor position and topmost line ascent is at origin. |
TopRightGlyphBounds new in Git master |
Top right corner of the glyph bounding rectangle is at origin. |
enum class Magnum:: Text:: ShapeDirection: UnsignedByte new in Git master
#include <Magnum/Text/Direction.h>
Direction a text is shaped in.
Enumerators | |
---|---|
Unspecified |
Unspecified. When set in AbstractShaper:: |
LeftToRight |
Left to right. When returned from AbstractShaper:: |
RightToLeft |
Right to left. When returned from AbstractShaper:: |
TopToBottom |
Top to bottom. When returned from AbstractShaper:: |
BottomToTop |
Bottom to top. When returned from AbstractShaper:: |
enum class Magnum:: Text:: LayoutDirection: UnsignedByte new in Git master
#include <Magnum/Text/Direction.h>
Direction a text is laid out in.
Enumerators | |
---|---|
Unspecified | |
HorizontalTopToBottom |
Horizontal text with lines advancing from top to bottom |
VerticalLeftToRight |
Vertical text with lines advancing from left to right |
VerticalRightToLeft |
Vertical text with lines advancing from right to left |
enum class Magnum:: Text:: Feature: UnsignedInt new in Git master
#include <Magnum/Text/Feature.h>
OpenType typographic feature.
The values are FourCC codes according to the OpenType feature registry. See also the List of typographic features on Wikipedia for the values grouped by use case. Use feature(char, char, char, char) or feature(Containers::
Currently, there's no corresponding feature list for Apple Advanced Typography. Mapping from OpenType features to AAT features is possible but nontrivial, and is the responsibility of a particular font plugin.
Enumerators | |
---|---|
AccessAllAlternates |
Access All Alternates. Ligation and alternate feature intended for all scripts. |
AboveBaseForms |
Above-base Forms. Intended for South-Asian scripts. |
AboveBaseMarkPositioning |
Above-base Mark Positioning. Intended for South-Asian scripts. |
AboveBaseSubstitutions |
Above-base Substitutions. Intended for South-Asian scripts. |
AlternativeFractions |
Alternative Fractions. Intended for digits and math. |
Akhand |
Akhand. Intended for South-Asian scripts. |
BelowBaseForms |
Below-base Forms. Intended for South-Asian scripts. |
BelowBaseMarkPositioning |
Below-base Mark Positioning. Intended for South-Asian scripts. |
BelowBaseSubstitutions |
Below-base Substitutions. Intended for South-Asian scripts. |
ContextualAlternates |
Contextual Alternates. Ligation and alternate feature intended for all scripts. |
CaseSensitiveForms |
Case-Sensitive Forms. Intended for cased scripts. |
GlyphCompositionDecomposition |
Glyph Composition / Decomposition. Positioning feature intended for all scripts. |
ConjunctFormAfterRo |
Conjunct Form After Ro. Intended for South-Asian scripts. |
ContextualHalfWidthSpacing |
Contextual Half-width Spacing. Intended for East-Asian scripts. |
ConjunctForms |
Conjunct Forms. Intended for South-Asian scripts. |
ContextualLigatures |
Contextual Ligatures. Ligation and alternate feature intended for all scripts. |
CenteredCjkPunctuation |
Centered CJK Punctuation. Intended for East-Asian scripts. |
CapitalSpacing |
Capital Spacing. Intended for cased scripts. |
ContextualSwash |
Contextual Swash. Ligation and alternate feature intended for all scripts. |
CursivePositioning |
Cursive Positioning. Intended for West-Asian scripts. |
CharacterVariants1 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants2 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants3 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants4 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants5 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants6 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants7 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants8 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants9 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants10 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants11 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants12 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants13 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants14 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants15 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants16 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants17 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants18 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants19 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants20 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants21 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants22 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants23 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants24 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants25 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants26 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants27 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants28 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants29 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants30 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants31 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants32 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants33 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants34 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants35 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants36 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants37 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants38 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants39 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants40 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants41 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants42 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants43 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants44 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants45 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants46 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants47 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants48 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants49 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants50 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants51 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants52 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants53 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants54 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants55 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants56 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants57 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants58 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants59 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants60 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants61 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants62 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants63 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants64 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants65 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants66 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants67 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants68 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants69 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants70 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants71 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants72 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants73 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants74 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants75 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants76 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants77 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants78 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants79 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants80 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants81 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants82 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants83 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants84 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants85 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants86 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants87 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants88 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants89 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants90 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants91 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants92 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants93 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants94 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants95 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants96 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants97 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants98 |
Character Variants. Ligation and alternate feature intended for all scripts. |
CharacterVariants99 |
Character Variants. Ligation and alternate feature intended for all scripts. |
PetiteCapitalsFromCapitals |
Petite Capitals From Capitals. Intended for cased scripts. |
SmallCapitalsFromCapitals |
Small Capitals From Capitals. Intended for cased scripts. |
Distances |
Distances. Intended for South-Asian scripts. |
DiscretionaryLigatures |
Discretionary Ligatures. Ligation and alternate feature intended for all scripts. |
Denominators |
Denominators. Intended for digits and math. |
DotlessForms |
Dotless Forms. Intended for digits and math. |
ExpertForms |
Expert Forms. Intended for East-Asian scripts. |
FinalGlyphOnLineAlternates |
Final Glyph on Line Alternates. Intended for West-Asian scripts. |
TerminalForms |
Terminal Forms. Intended for West-Asian scripts. |
TerminalForms2 |
Terminal Forms #2. Intended for West-Asian scripts. |
TerminalForms3 |
Terminal Forms #3. Intended for West-Asian scripts. |
FlattenedAccentForms |
Flattened accent forms. Intended for digits and math. |
Fractions |
Fractions. Intended for digits and math. |
FullWidths |
Full Widths. Intended for East-Asian scripts. |
HalfForms |
Half Forms. Intended for South-Asian scripts. |
HalantForms |
Halant Forms. Intended for South-Asian scripts. |
AlternateHalfWidths |
Alternate Half Widths. Intended for East-Asian scripts. |
HistoricalForms |
Historical Forms. Ligation and alternate feature intended for all scripts. |
HorizontalKanaAlternates |
Horizontal Kana Alternates. Intended for East-Asian scripts. |
HistoricalLigatures |
Historical Ligatures. Ligation and alternate feature intended for all scripts. |
Hangul |
Hangul. Intended for East-Asian scripts. |
HojoKanjiForms |
Hojo Kanji Forms (JIS X 0212-1990 Kanji Forms). Intended for East-Asian scripts. |
HalfWidths |
Half Widths. Intended for East-Asian scripts. |
InitialForms |
Initial Forms. Intended for West-Asian scripts. |
IsolatedForms |
Isolated Forms. Intended for West-Asian scripts. |
Italics |
Italics. Intended for cased scripts. |
JustificationAlternates |
Justification Alternates. Intended for West-Asian scripts. |
Jis78Forms |
JIS78 Forms. Intended for East-Asian scripts. |
Jis83Forms |
JIS83 Forms. Intended for East-Asian scripts. |
Jis90Forms |
JIS90 Forms. Intended for East-Asian scripts. |
Jis2004Forms |
JIS2004 Forms. Intended for East-Asian scripts. |
Kerning |
Kerning. Positioning feature intended for all scripts. |
LeftBounds |
Left Bounds. Positioning feature intended for all scripts. |
StandardLigatures |
Standard Ligatures. Ligation and alternate feature intended for all scripts. |
LeadingJamoForms |
Leading Jamo Forms. Intended for East-Asian scripts. |
LiningFigures |
Lining Figures. Intended for digits and math. |
LocalizedForms |
Localized Forms. Ligation and alternate feature intended for all scripts. |
LeftToRightAlternates |
Left-to-right alternates. Feature depending on writing direction. |
LeftToRightMirroredForms |
Left-to-right mirrored forms. Feature depending on writing direction. |
MarkPositioning |
Mark Positioning. Positioning feature intended for all scripts. |
MedialForms |
Medial Forms. Intended for West-Asian scripts. |
MedialForms2 |
Medial Forms #2. Intended for West-Asian scripts. |
MathematicalGreek |
Mathematical Greek. Intended for digits and math. |
MarkToMarkPositioning |
Mark to Mark Positioning. Positioning feature intended for all scripts. |
MarkPositioningViaSubstitution |
Mark Positioning via Substitution. Intended for West-Asian scripts. |
AlternateAnnotationForms |
Alternate Annotation Forms. Ligation and alternate feature intended for all scripts. |
NlcKanjiForms |
NLC Kanji Forms. Intended for East-Asian scripts. |
NuktaForms |
Nukta Forms. Intended for South-Asian scripts. |
Numerators |
Numerators. Intended for digits and math. |
OldstyleFigures |
Oldstyle Figures. Intended for digits and math. |
OpticalBounds |
Optical Bounds. Positioning feature intended for all scripts. |
Ordinals |
Ordinals. Intended for cased scripts. |
Ornaments |
Ornaments. Special feature intended for all scripts. |
ProportionalAlternateWidths |
Proportional Alternate Widths. Intended for East-Asian scripts. |
PetiteCapitals |
Petite Capitals. Intended for cased scripts. |
ProportionalKana |
Proportional Kana. Intended for East-Asian scripts. |
ProportionalFigures |
Proportional Figures. Intended for digits and math. |
PreBaseForms |
Pre-Base Forms. Intended for South-Asian scripts. |
PreBaseSubstitutions |
Pre-base Substitutions. Intended for South-Asian scripts. |
PostBaseForms |
Post-base Forms. Intended for South-Asian scripts. |
PostBaseSubstitutions |
Post-base Substitutions. Intended for South-Asian scripts. |
ProportionalWidths |
Proportional Widths. Intended for East-Asian scripts. |
QuarterWidths |
Quarter Widths. Intended for East-Asian scripts. |
Randomize |
Randomize. Ligation and alternate feature intended for all scripts. |
RequiredContextualAlternates |
Required Contextual Alternates. Intended for West-Asian scripts. |
RakarForms |
Rakar Forms. Intended for South-Asian scripts. |
RequiredLigatures |
Required Ligatures. Intended for West-Asian scripts. |
RephForms |
Reph Forms. Intended for South-Asian scripts. |
RightBounds |
Right Bounds. Positioning feature intended for all scripts. |
RightToLeftAlternates |
Right-to-left alternates. Feature depending on writing direction. |
RightToLeftMirroredForms |
Right-to-left mirrored forms. Feature depending on writing direction. |
RubyNotationForms |
Ruby Notation Forms. Intended for East-Asian scripts. |
RequiredVariationAlternates |
Required Variation Alternates. Ligation and alternate feature intended for all scripts. |
StylisticAlternates |
Stylistic Alternates. Ligation and alternate feature intended for all scripts. |
ScientificInferiors |
Scientific Inferiors. Intended for digits and math. |
OpticalSize |
Optical Size. Special feature intended for all scripts. |
SmallCapitals |
Small Capitals. Intended for cased scripts. |
SimplifiedForms |
Simplified Forms. Intended for East-Asian scripts. |
StylisticSet1 |
Stylistic Set 1. Ligation and alternate feature intended for all scripts. |
StylisticSet2 |
Stylistic Set 2. Ligation and alternate feature intended for all scripts. |
StylisticSet3 |
Stylistic Set 3. Ligation and alternate feature intended for all scripts. |
StylisticSet4 |
Stylistic Set 4. Ligation and alternate feature intended for all scripts. |
StylisticSet5 |
Stylistic Set 5. Ligation and alternate feature intended for all scripts. |
StylisticSet6 |
Stylistic Set 6. Ligation and alternate feature intended for all scripts. |
StylisticSet7 |
Stylistic Set 7. Ligation and alternate feature intended for all scripts. |
StylisticSet8 |
Stylistic Set 8. Ligation and alternate feature intended for all scripts. |
StylisticSet9 |
Stylistic Set 9. Ligation and alternate feature intended for all scripts. |
StylisticSet10 |
Stylistic Set 10. Ligation and alternate feature intended for all scripts. |
StylisticSet11 |
Stylistic Set 11. Ligation and alternate feature intended for all scripts. |
StylisticSet12 |
Stylistic Set 12. Ligation and alternate feature intended for all scripts. |
StylisticSet13 |
Stylistic Set 13. Ligation and alternate feature intended for all scripts. |
StylisticSet14 |
Stylistic Set 14. Ligation and alternate feature intended for all scripts. |
StylisticSet15 |
Stylistic Set 15. Ligation and alternate feature intended for all scripts. |
StylisticSet16 |
Stylistic Set 16. Ligation and alternate feature intended for all scripts. |
StylisticSet17 |
Stylistic Set 17. Ligation and alternate feature intended for all scripts. |
StylisticSet18 |
Stylistic Set 18. Ligation and alternate feature intended for all scripts. |
StylisticSet19 |
Stylistic Set 19. Ligation and alternate feature intended for all scripts. |
StylisticSet20 |
Stylistic Set 20. Ligation and alternate feature intended for all scripts. |
MathScriptStyleAlternates |
Math Script Style Alternates. Intended for digits and math. |
StretchingGlyphDecomposition |
Stretching Glyph Decomposition. Intended for West-Asian scripts. |
Subscript |
Subscript. Ligation and alternate feature intended for all scripts. |
Superscript |
Superscript. Ligation and alternate feature intended for all scripts. |
Swash |
Swash. Ligation and alternate feature intended for all scripts. |
Titling |
Titling. Ligation and alternate feature intended for all scripts. |
TrailingJamoForms |
Trailing Jamo Forms. Intended for East-Asian scripts. |
TraditionalNameForms |
Traditional Name Forms. Intended for East-Asian scripts. |
TabularFigures |
Tabular Figures. Intended for digits and math. |
TraditionalForms |
Traditional Forms. Intended for East-Asian scripts. |
ThirdWidths |
Third Widths. Intended for East-Asian scripts. |
Unicase |
Unicase. Intended for cased scripts. |
AlternateVerticalMetrics |
Alternate Vertical Metrics. Feature depending on writing direction. |
VattuVariants |
Vattu Variants. Intended for South-Asian scripts. |
VerticalContextualHalfWidthSpacing |
Vertical Contextual Half-width Spacing. Intended for East-Asian scripts. |
VerticalWriting |
Vertical Writing. Feature depending on writing direction. |
AlternateVerticalHalfMetrics |
Alternate Vertical Half Metrics. Feature depending on writing direction. |
VowelJamoForms |
Vowel Jamo Forms. Intended for East-Asian scripts. |
VerticalKanaAlternates |
Vertical Kana Alternates. Intended for East-Asian scripts. |
VerticalKerning |
Vertical Kerning. Feature depending on writing direction. |
ProportionalAlternateVerticalMetrics |
Proportional Alternate Vertical Metrics. Feature depending on writing direction. |
VerticalAlternatesAndRotation |
Vertical Alternates and Rotation. Feature depending on writing direction. |
VerticalAlternatesForRotation |
Vertical Alternates for Rotation. Feature depending on writing direction. |
SlashedZero |
Slashed Zero. Intended for digits and math. |
enum class Magnum:: Text:: Script: UnsignedInt new in Git master
#include <Magnum/Text/Script.h>
Script a text is written in.
The values are FourCC codes according to ISO 15924. Use script(char, char, char, char) or script(Containers::
Enumerators | |
---|---|
Unspecified |
Unspecified. When set in AbstractShaper:: |
Inherited |
Inherited. Characters that may be used with multiple scripts, and that inherit their script from a preceding base character. |
Math |
Math symbols |
Common |
Undetermined script |
Unknown |
Unknown script |
Adlam |
Adlam, Unicode 9.0 |
CaucasianAlbanian |
Caucasian Albanian, Unicode 7.0 |
Ahom |
Ahom, Unicode 8.0 |
Arabic |
Arabic, Unicode 1.0 |
ImperialAramaic |
Imperial Aramaic, Unicode 5.2 |
Armenian |
Armenian, Unicode 1.0 |
Avestan |
Avestan, Unicode 5.2 |
Balinese |
Balinese, Unicode 5.0 |
Bamum |
Bamum, Unicode 5.2 |
BassaVah |
Bassa Vah, Unicode 7.0 |
Batak |
Batak, Unicode 6.0 |
Bengali |
Bengali, Unicode 1.0 |
Bhaiksuki |
Bhaiksuki, Unicode 9.0 |
Bopomofo |
Bopomofo, Unicode 1.0 |
Brahmi |
Brahmi, Unicode 6.0 |
Braille |
Braille, Unicode 3.0 |
Buginese |
Buginese, Unicode 4.1 |
Buhid |
Buhid, Unicode 3.2 |
Chakma |
Chakma, Unicode 6.1 |
CanadianAboriginal |
CanadianAboriginal, Unicode 3.0 |
Carian |
Carian, Unicode 5.1 |
Cham |
Cham, Unicode 5.1 |
Cherokee |
Cherokee, Unicode 3.0 |
Chorasmian |
Chorasmian, Unicode 13.0 |
Coptic |
Coptic, Unicode 1.0 |
CyproMinoan |
Cypro Minoan, Unicode 14.0 |
Cypriot |
Cypriot, Unicode 4.0 |
Cyrillic |
Cyrillic, Unicode 1.0 |
Devanagari |
Devanagari, Unicode 1.0 |
DivesAkuru |
Dives Akuru, Unicode 13.0 |
Dogra |
Dogra, Unicode 11.0 |
Deseret |
Deseret, Unicode 3.1 |
Duployan |
Duployan, Unicode 7.0 |
EgyptianHieroglyphs |
Egyptian Hieroglyphs, Unicode 5.2 |
Elbasan |
Elbasan, Unicode 7.0 |
Elymaic |
Elymaic, Unicode 12.0 |
Ethiopic |
Ethiopic, Unicode 3.0 |
Georgian |
Georgian, Unicode 1.0 |
Glagolitic |
Glagolitic, Unicode 4.1 |
GunjalaGondi |
Gunjala Gondi, Unicode 11.0 |
MasaramGondi |
Masaram Gondi, Unicode 10.0 |
Gothic |
Gothic, Unicode 3.1 |
Grantha |
Grantha, Unicode 7.0 |
Greek |
Greek, Unicode 1.0 |
Gujarati |
Gujarati, Unicode 1.0 |
Gurmukhi |
Gurmukhi, Unicode 1.0 |
Hangul |
Hangul, Unicode 1.0 |
Han |
Han, Unicode 1.0 |
Hanunoo |
Hanunoo, Unicode 3.2 |
Hatran |
Hatran, Unicode 8.0 |
Hebrew |
Hebrew, Unicode 1.0 |
Hiragana |
Hiragana, Unicode 1.0 |
AnatolianHieroglyphs |
Anatolian Hieroglyphs, Unicode 8.0 |
PahawhHmong |
Pahawh Hmong, Unicode 7.0 |
NyiakengPuachueHmong |
Nyiakeng Puachue Hmong, Unicode 12.0 |
OldHungarian |
Old Hungarian, Unicode 8.0 |
OldItalic |
Old Italic, Unicode 3.1 |
Javanese |
Javanese, Unicode 5.2 |
KayahLi |
Kayah Li, Unicode 5.1 |
Katakana |
Katakana, Unicode 1.0 |
Kawi |
Kawi, Unicode 15.0 |
Kharoshthi |
Kharoshthi, Unicode 4.1 |
Khmer |
Khmer, Unicode 3.0 |
Khojki |
Khojki, Unicode 7.0 |
KhitanSmallScript |
Khitan Small Script, Unicode 13.0 |
Kannada |
Kannada, Unicode 1.0 |
Kaithi |
Kaithi, Unicode 5.2 |
TaiTham |
Tai Tham, Unicode 5.2 |
Lao |
Lao, Unicode 1.0 |
Latin |
Latin, Unicode 1.0 |
Lepcha |
Lepcha, Unicode 5.1 |
Limbu |
Limbu, Unicode 4.0 |
LinearA |
Linear A, Unicode 7.0 |
LinearB |
Linear B, Unicode 4.0 |
Lisu |
Lisu, Unicode 5.2 |
Lycian |
Lycian, Unicode 5.1 |
Lydian |
Lydian, Unicode 5.1 |
Mahajani |
Mahajani, Unicode 7.0 |
Makasar |
Makasar, Unicode 11.0 |
Mandaic |
Mandaic, Unicode 6.0 |
Manichaean |
Manichaean, Unicode 7.0 |
Marchen |
Marchen, Unicode 9.0 |
Medefaidrin |
Medefaidrin, Unicode 11.0 |
MendeKikakui |
Mende Kikakui, Unicode 7.0 |
MeroiticCursive |
Meroitic Cursive, Unicode 6.1 |
MeroiticHieroglyphs |
Meroitic Hieroglyphs, Unicode 6.1 |
Malayalam |
Malayalam, Unicode 1.0 |
Modi |
Modi, Unicode 7.0 |
Mongolian |
Mongolian, Unicode 3.0 |
Mro |
Mro, Unicode 7.0 |
MeeteiMayek |
Meetei Mayek, Unicode 5.2 |
Multani |
Multani, Unicode 8.0 |
Myanmar |
Myanmar, Unicode 3.0 |
NagMundari |
Nag Mundari, Unicode 15.0 |
Nandinagari |
Nandinagari, Unicode 12.0 |
OldNorthArabian |
Old North Arabian, Unicode 7.0 |
Nabataean |
Nabataean, Unicode 7.0 |
Newa |
Newa, Unicode 9.0 |
NKo |
NKo, Unicode 5.0 |
Nushu |
Nushu, Unicode 10.0 |
Ogham |
Ogham, Unicode 3.0 |
OlChiki |
Ol Chiki, Unicode 5.1 |
OldTurkic |
Old Turkic, Unicode 5.2 |
Oriya |
Oriya, Unicode 1.0 |
Osage |
Osage, Unicode 9.0 |
Osmanya |
Osmanya, Unicode 4.0 |
OldUyghur |
Old Uyghur, Unicode 14.0 |
Palmyrene |
Palmyrene, Unicode 7.0 |
PauCinHau |
Pau Cin Hau, Unicode 7.0 |
OldPermic |
Old Permic, Unicode 7.0 |
PhagsPa |
Phags-pa, Unicode 5.0 |
InscriptionalPahlavi |
Inscriptional Pahlavi, Unicode 5.2 |
PsalterPahlavi |
Psalter Pahlavi, Unicode 7.0 |
Phoenician |
Phoenician, Unicode 5.0 |
Miao |
Miao, Unicode 6.1 |
InscriptionalParthian |
InscriptionalParthian, Unicode 5.2 |
Rejang |
Rejang, Unicode 5.1 |
HanifiRohingya |
Hanifi Rohingya, Unicode 11.0 |
Runic |
Runic, Unicode 3.0 |
Samaritan |
Samaritan, Unicode 5.2 |
OldSouthArabian |
Old South Arabian, Unicode 5.2 |
Saurashtra |
Saurashtra, Unicode 5.1 |
SignWriting |
SignWriting, Unicode 8.0 |
Shavian |
Shavian, Unicode 4.0 |
Sharada |
Sharada, Unicode 6.1 |
Siddham |
Siddham, Unicode 7.0 |
Khudawadi |
Khudawadi, Unicode 7.0 |
Sinhala |
Sinhala, Unicode 3.0 |
Sogdian |
Sogdian, Unicode 11.0 |
OldSogdian |
Old Sogdian, Unicode 11.0 |
SoraSompeng |
Sora Sompeng, Unicode 6.1 |
Soyombo |
Soyombo, Unicode 10.0 |
Sundanese |
Sundanese, Unicode 5.1 |
SylotiNagri |
Syloti Nagri, Unicode 4.1 |
Syriac |
Syriac, Unicode 3.0 |
Tagbanwa |
Tagbanwa, Unicode 3.2 |
Takri |
Takri, Unicode 6.1 |
TaiLe |
Tai Le, Unicode 4.0 |
NewTaiLue |
New Tai Lue, Unicode 4.1 |
Tamil |
Tamil, Unicode 1.0 |
Tangut |
Tangut, Unicode 9.0 |
TaiViet |
Tai Viet, Unicode 5.2 |
Telugu |
Telugu, Unicode 1.0 |
Tifinagh |
Tifinagh, Unicode 4.1 |
Tagalog |
Tagalog, Unicode 3.2 |
Thaana |
Thaana, Unicode 3.0 |
Thai |
Thai, Unicode 1.0 |
Tibetan |
Tibetan, Unicode 2.0 |
Tirhuta |
Tirhuta, Unicode 7.0 |
Tangsa |
Tangsa, Unicode 14.0 |
Toto |
Toto, Unicode 14.0 |
Ugaritic |
Ugaritic, Unicode 4.0 |
Vai |
Vai, Unicode 5.1 |
Vithkuqi |
Vithkuqi, Unicode 14.0 |
WarangCiti |
Warang Citi, Unicode 7.0 |
Wancho |
Wancho, Unicode 12.0 |
OldPersian |
Old Persian, Unicode 4.1 |
Cuneiform |
Cuneiform, Unicode 5.0 |
Yezidi |
Yezidi, Unicode 13.0 |
Yi |
Yi, Unicode 3.0 |
ZanabazarSquare |
Zanabazar Square, Unicode 10.0 |
Typedef documentation
typedef Containers:: EnumSet<FontFeature> Magnum:: Text:: FontFeatures new in 2020.06
#include <Magnum/Text/AbstractFont.h>
Set of features supported by a font implementation.
typedef Containers:: EnumSet<FontConverterFeature> Magnum:: Text:: FontConverterFeatures new in 2020.06
Features supported by a font converter.
typedef Containers:: EnumSet<GlyphCacheFeature> Magnum:: Text:: GlyphCacheFeatures new in 2019.10
#include <Magnum/Text/AbstractGlyphCache.h>
Set of features supported by a glyph cache.
typedef Renderer<2> Magnum:: Text:: Renderer2D
#include <Magnum/Text/Renderer.h>
Two-dimensional text renderer.
typedef Renderer<3> Magnum:: Text:: Renderer3D
#include <Magnum/Text/Renderer.h>
Three-dimensional text renderer.
Function documentation
Debug& Magnum:: Text:: operator<<(Debug& debug,
FontFeature value)
#include <Magnum/Text/AbstractFont.h>
Debug output operator.
Debug& Magnum:: Text:: operator<<(Debug& debug,
FontFeatures value)
#include <Magnum/Text/AbstractFont.h>
Debug output operator.
Debug& Magnum:: Text:: operator<<(Debug& debug,
FontConverterFeature value)
Debug output operator.
Debug& Magnum:: Text:: operator<<(Debug& debug,
FontConverterFeatures value)
Debug output operator.
Debug& Magnum:: Text:: operator<<(Debug& output,
GlyphCacheFeature value)
#include <Magnum/Text/AbstractGlyphCache.h>
Debug output operator.
Debug& Magnum:: Text:: operator<<(Debug& output,
GlyphCacheFeatures value)
#include <Magnum/Text/AbstractGlyphCache.h>
Debug output operator.
Debug& Magnum:: Text:: operator<<(Debug& debug,
Alignment value)
#include <Magnum/Text/Alignment.h>
Debug output operator.
Debug& Magnum:: Text:: operator<<(Debug& debug,
ShapeDirection value)
#include <Magnum/Text/Direction.h>
Debug output operator.
Debug& Magnum:: Text:: operator<<(Debug& debug,
LayoutDirection value)
#include <Magnum/Text/Direction.h>
Debug output operator.
Debug& Magnum:: Text:: operator<<(Debug& debug,
Feature value)
#include <Magnum/Text/Feature.h>
Debug output operator.
Feature Magnum:: Text:: feature(char a,
char b,
char c,
char d) constexpr new in Git master
#include <Magnum/Text/Feature.h>
Create a Feature value from a four-character code.
Delegates to Utility::
Feature Magnum:: Text:: feature(Containers:: StringView fourCC) new in Git master
#include <Magnum/Text/Feature.h>
Create a Feature value from a string.
Expects that the string has exactly four bytes. Other than that doesn't perform any validity check on the input, i.e. it's possible to create a code that isn't listed in the OpenType feature registry or even a code with non-ASCII characters.
Range2D Magnum:: Text:: renderLineGlyphPositionsInto(const AbstractFont& font,
Float size,
LayoutDirection direction,
const Containers:: StridedArrayView1D<const Vector2>& glyphOffsets,
const Containers:: StridedArrayView1D<const Vector2>& glyphAdvances,
Vector2& cursor,
const Containers:: StridedArrayView1D<Vector2>& glyphPositions) new in Git master
#include <Magnum/Text/Renderer.h>
Render glyph positions for a (part of a) single line.
Parameters | |
---|---|
font in | Font to query metrics from |
size in | Size to render the glyphs at |
direction in | Layout direction. Currently expected to always be LayoutDirection:: |
glyphOffsets in | Glyph offsets coming from AbstractShaper instance(s) associated with font |
glyphAdvances in | Glyph advances coming from AbstractShaper instance(s) associated with font |
cursor in/out | Initial cursor position. Is updated to a final cursor position after all glyphs are rendered. |
glyphPositions out | Where to put output absolute glyph positions |
Returns | Rectangle spanning the rendered cursor range in one direction and font descent to ascent in the other |
The output of this function are just glyph positions alone, which is useful for example when the actual glyph quad expansion is done by a shader or when the glyphs get subsequently rasterized some other way than applying a glyph texture to a sequence of quads. Use renderGlyphQuadsInto() on the resulting glyphPositions
array to form actual glyph quads together with texture coordinates.
The glyphOffsets
, glyphAdvances
and glyphPositions
views are all expected to have the same size. It's possible to use the same view for glyphOffsets
and glyphPositions
, which will turn the input relative glyph offsets into absolute positions.
Calls to this function don't strictly need to match calls to AbstractShaper::glyphOffsets
and glyphAdvances
array and this function can be then called just once for all runs together. If the font or rendering size changes between text runs however, you have to call this function for each such run separately and each time use the updated cursor
value as an input for the next renderLineGlyphPositionsInto() call.
Once the whole line is rendered, Math::
Range2D Magnum:: Text:: renderGlyphQuadsInto(const AbstractFont& font,
Float size,
const AbstractGlyphCache& cache,
const Containers:: StridedArrayView1D<const Vector2>& glyphPositions,
const Containers:: StridedArrayView1D<const UnsignedInt>& fontGlyphIds,
const Containers:: StridedArrayView1D<Vector2>& vertexPositions,
const Containers:: StridedArrayView1D<Vector3>& vertexTextureCoordinates) new in Git master
#include <Magnum/Text/Renderer.h>
Render glyph quads for a (part of a) single line from font-specific glyph IDs.
Parameters | |
---|---|
font in | Font the glyphs are coming from |
size in | Size to render the glyphs at |
cache in | Glyph cache to query for glyph rectangles |
glyphPositions in | Glyph positions coming from an earlier call to renderLineGlyphPositionsInto() |
fontGlyphIds in | Glyph IDs coming from AbstractShaper instance(s) associated with font |
vertexPositions out | Where to put output vertex positions |
vertexTextureCoordinates out | Where to put output texture coordinates |
Returns | Rectangle spanning the rendered glyph quads |
Produces a sequence of quad corner positions and texture coordinates in order as shown below. The glyphPositions
and glyphIds
views are expected to have the same size, the vertexPositions
and vertexTextureCoordinates
views are then expected to be four times larger than glyphPositions
and glyphIds
, in order to ultimately contain four corner vertices for each glyph. To optimize memory use, it's possible to alias glyphPositions
with vertexPositions.every(4)
and glyphIds
with vertexTextureCoordinates.every(4)
. The vertexTextureCoordinates
are temporarily used to store resolved cache-global glyph IDs, the rendering is then performed in a way that first reads the position and ID for each glyph and only then fills in the vertex data.
2---3 | | | | | | 0---1
If the text doesn't need to be aligned based on the actual glyph bounds (i.e., the desired Alignment isn't *GlyphBounds
), it's possible to call this function even on a multi-line text run provided that alignRenderedLine() was called on the glyphPositions
before to align lines relatively to each other. Otherwise this function should be called on each line individually and then the vertexPositions
passed further to alignRenderedLine().
Expects that font
is contained in cache
. Glyph IDs not found in the cache are replaced with the cache-global invalid glyph. If the cache
is only 2D, you can use the renderGlyphQuadsInto(const AbstractFont&, Float, const AbstractGlyphCache&, const Containers::
Range2D Magnum:: Text:: renderGlyphQuadsInto(const AbstractFont& font,
Float size,
const AbstractGlyphCache& cache,
const Containers:: StridedArrayView1D<const Vector2>& glyphPositions,
const Containers:: StridedArrayView1D<const UnsignedInt>& fontGlyphIds,
const Containers:: StridedArrayView1D<Vector2>& vertexPositions,
const Containers:: StridedArrayView1D<Vector2>& vertexTextureCoordinates) new in Git master
#include <Magnum/Text/Renderer.h>
Render glyph quads for a (part of a) single line from font-specific glyph IDs and a 2D glyph cache.
Compared to renderGlyphQuadsInto(const AbstractFont&, Float, const AbstractGlyphCache&, const Containers::1
.
Range2D Magnum:: Text:: renderGlyphQuadsInto(const AbstractGlyphCache& cache,
Float scale,
const Containers:: StridedArrayView1D<const Vector2>& glyphPositions,
const Containers:: StridedArrayView1D<const UnsignedInt>& glyphIds,
const Containers:: StridedArrayView1D<Vector2>& vertexPositions,
const Containers:: StridedArrayView1D<Vector3>& vertexTextureCoordinates) new in Git master
#include <Magnum/Text/Renderer.h>
Render glyph quads for a (part of a) single line from cache-global glyph IDs.
Parameters | |
---|---|
cache in | Glyph cache to query for glyph rectangles |
scale in | Size to render the glyphs at divided by size of the input font |
glyphPositions in | Glyph positions coming from an earlier call to renderLineGlyphPositionsInto() |
glyphIds in | Cache-global glyph IDs |
vertexPositions out | Where to put output vertex positions |
vertexTextureCoordinates out | Where to put output texture coordinates |
Returns | Rectangle spanning the rendered glyph quads |
Compared to renderGlyphQuadsInto(const AbstractFont&, Float, const AbstractGlyphCache&, const Containers::glyphPositions
and glyphIds
with vertexPositions.every(4)
and vertexTextureCoordinates.every(4)
.
Range2D Magnum:: Text:: renderGlyphQuadsInto(const AbstractGlyphCache& cache,
Float scale,
const Containers:: StridedArrayView1D<const Vector2>& glyphPositions,
const Containers:: StridedArrayView1D<const UnsignedInt>& glyphIds,
const Containers:: StridedArrayView1D<Vector2>& vertexPositions,
const Containers:: StridedArrayView1D<Vector2>& vertexTextureCoordinates) new in Git master
#include <Magnum/Text/Renderer.h>
Render glyph quads for a (part of a) single line from cache-global glyph IDs and a 2D glyph cache.
Compared to renderGlyphQuadsInto(const AbstractGlyphCache&, Float, const Containers::1
.
Range2D Magnum:: Text:: alignRenderedLine(const Range2D& lineRectangle,
LayoutDirection direction,
Alignment alignment,
const Containers:: StridedArrayView1D<Vector2>& positions) new in Git master
#include <Magnum/Text/Renderer.h>
Align a rendered line.
Parameters | |
---|---|
lineRectangle in | Rectangle spanning the whole line |
direction in | Layout direction. Currently expected to always be LayoutDirection:: |
alignment in | Desired alignment. Only the part in direction of the line is used. |
positions in/out | Positions of glyphs or glyph quad vertices on the whole line to be aligned |
Returns | The lineRectangle , translated in the direction of the line based on the alignment. |
If alignment
isn't *GlyphBounds
, this function should get glyph positions
for the whole line coming from renderLineGlyphPositionsInto() and lineRectangle
being all rectangles returned by that function combined together with Math::
If alignment
is *GlyphBounds
, this function should get vertex positions
for a whole line coming from renderGlyphQuadsInto() and lineRectangle
being all rectangles returned by that function combined together with Math::
The positions
are translated in one axis based on the inputRectangle
and the part of alignment
matching line direction in direction
. Values of the positions
themselves aren't considered when calculating the alignment. To align a multi-line block, join rectangles returned from all calls to this function and pass them together with positions for the whole block to alignRenderedBlock().
Range2D Magnum:: Text:: alignRenderedBlock(const Range2D& blockRectangle,
LayoutDirection direction,
Alignment alignment,
const Containers:: StridedArrayView1D<Vector2>& positions) new in Git master
#include <Magnum/Text/Renderer.h>
Align a rendered block.
Parameters | |
---|---|
blockRectangle in | Rectangle spanning all lines in the block |
direction in | Layout direction. Currently expected to always be LayoutDirection:: |
alignment in | Desired alignment. Only the part in direction of the line is used. |
positions in/out | Positions of glyphs or glyph quad vertices on the whole line to be aligned |
Returns | The blockRectangle , translated in the direction of the layout advance based on the alignment. |
This function should get glyph or vertex positions
for all lines as aligned by calls to alignRenderedLine(), and blockRectangle
being all line rectangles returned by that function combined together with Math::
The positions
are translated in one axis based on the inputRectangle
and the part of alignment
matching layout advance in direction
. Values of the positions
themselves aren't considered when calculating the translation.
void Magnum:: Text:: renderGlyphQuadIndicesInto(UnsignedInt glyphOffset,
const Containers:: StridedArrayView1D<UnsignedInt>& indices) new in Git master
#include <Magnum/Text/Renderer.h>
Render 32-bit glyph quad indices.
Parameters | |
---|---|
glyphOffset in | Offset of the first glyph to generate indices for |
indices out | Where to put the generated indices |
Produces a sequence of quad indices in order as shown below, with the index values being shifted by glyphOffset*4
. Expects that the indices
view size is divisible by 6
and the value range fits into the output type.
2---3 2 3---5 | | |\ \ | | | | \ \ | | | | \ \| 0---1 0---1 4
void Magnum:: Text:: renderGlyphQuadIndicesInto(UnsignedInt glyphOffset,
const Containers:: StridedArrayView1D<UnsignedShort>& indices) new in Git master
#include <Magnum/Text/Renderer.h>
Render 16-bit glyph quad indices.
See renderGlyphQuadIndicesInto(UnsignedInt, const Containers::
void Magnum:: Text:: renderGlyphQuadIndicesInto(UnsignedInt glyphOffset,
const Containers:: StridedArrayView1D<UnsignedByte>& indices) new in Git master
#include <Magnum/Text/Renderer.h>
Render 8-bit glyph quad indices.
See renderGlyphQuadIndicesInto(UnsignedInt, const Containers::
Debug& Magnum:: Text:: operator<<(Debug& debug,
Script value)
#include <Magnum/Text/Script.h>
Debug output operator.
Script Magnum:: Text:: script(char a,
char b,
char c,
char d) constexpr new in Git master
#include <Magnum/Text/Script.h>
Create a Script value from a four-character code.
Delegates to Utility::
Script Magnum:: Text:: script(Containers:: StringView fourCC) new in Git master
#include <Magnum/Text/Script.h>
Create a Script value from a string.
Expects that the string has exactly four bytes. Other than that doesn't perform any validity check on the input, i.e. it's possible to create a code that isn't listed in ISO 15924 or even a code with non-ASCII characters.