gi-harfbuzz-0.0.9: HarfBuzz bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.HarfBuzz.Flags

Description

 
Synopsis

Flags

BufferDiffFlagsT

data BufferDiffFlagsT Source #

Flags from comparing two BufferT's.

Buffer with different BufferContentTypeT cannot be meaningfully compared in any further detail.

For buffers with differing length, the per-glyph comparison is not attempted, though we do still scan reference buffer for dotted circle and .notdef glyphs.

If the buffers have the same length, we compare them glyph-by-glyph and report which aspect(s) of the glyph info/position are different.

Since: 1.5.0

Constructors

BufferDiffFlagsTEqual

equal buffers.

BufferDiffFlagsTContentTypeMismatch

buffers with different BufferContentTypeT.

BufferDiffFlagsTLengthMismatch

buffers with differing length.

BufferDiffFlagsTNotdefPresent

.notdef glyph is present in the reference buffer.

BufferDiffFlagsTDottedCirclePresent

dotted circle glyph is present in the reference buffer.

BufferDiffFlagsTCodepointMismatch

difference in GlyphInfoT.codepoint

BufferDiffFlagsTClusterMismatch

difference in GlyphInfoT.cluster

BufferDiffFlagsTGlyphFlagsMismatch

difference in GlyphFlagsT.

BufferDiffFlagsTPositionMismatch

difference in GlyphPositionT.

AnotherBufferDiffFlagsT Int

Catch-all for unknown values

Instances

Instances details
Enum BufferDiffFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Show BufferDiffFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Eq BufferDiffFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Ord BufferDiffFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

BoxedFlags BufferDiffFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

IsGFlag BufferDiffFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

TypedObject BufferDiffFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Methods

glibType :: IO GType

HasParentTypes BufferDiffFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes BufferDiffFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes BufferDiffFlagsT = '[] :: [Type]

BufferFlagsT

data BufferFlagsT Source #

Flags for BufferT.

Since: 0.9.20

Constructors

BufferFlagsTDefault

the default buffer flag.

BufferFlagsTBot

flag indicating that special handling of the beginning of text paragraph can be applied to this buffer. Should usually be set, unless you are passing to the buffer only part of the text without the full context.

BufferFlagsTEot

flag indicating that special handling of the end of text paragraph can be applied to this buffer, similar to hBBUFFERFLAGBOT.

BufferFlagsTPreserveDefaultIgnorables

flag indication that character with Default_Ignorable Unicode property should use the corresponding glyph from the font, instead of hiding them (done by replacing them with the space glyph and zeroing the advance width.) This flag takes precedence over hBBUFFERFLAGREMOVEDEFAULTIGNORABLES.

BufferFlagsTRemoveDefaultIgnorables

flag indication that character with Default_Ignorable Unicode property should be removed from glyph string instead of hiding them (done by replacing them with the space glyph and zeroing the advance width.) hBBUFFERFLAGPRESERVEDEFAULTIGNORABLES takes precedence over this flag. Since: 1.8.0

BufferFlagsTDoNotInsertDottedCircle

flag indicating that a dotted circle should not be inserted in the rendering of incorrect character sequences (such at <0905 093E>). Since: 2.4.0

BufferFlagsTVerify

flag indicating that the shape call and its variants should perform various verification processes on the results of the shaping operation on the buffer. If the verification fails, then either a buffer message is sent, if a message handler is installed on the buffer, or a message is written to standard error. In either case, the shaping result might be modified to show the failed output. Since: 3.4.0

BufferFlagsTProduceUnsafeToConcat

flag indicating that the hBGLYPHFLAGUNSAFETOCONCAT glyph-flag should be produced by the shaper. By default it will not be produced since it incurs a cost. Since: 4.0.0

BufferFlagsTProduceSafeToInsertTatweel

flag indicating that the hBGLYPHFLAGSAFETOINSERTTATWEEL glyph-flag should be produced by the shaper. By default it will not be produced. Since: 5.1.0

BufferFlagsTDefined

All currently defined flags: Since: 4.4.0

AnotherBufferFlagsT Int

Catch-all for unknown values

Instances

Instances details
Enum BufferFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Show BufferFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Eq BufferFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Ord BufferFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

BoxedFlags BufferFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

IsGFlag BufferFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

TypedObject BufferFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Methods

glibType :: IO GType

HasParentTypes BufferFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes BufferFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes BufferFlagsT = '[] :: [Type]

BufferSerializeFlagsT

data BufferSerializeFlagsT Source #

Flags that control what glyph information are serialized in bufferSerializeGlyphs.

Since: 0.9.20

Constructors

BufferSerializeFlagsTDefault

serialize glyph names, clusters and positions.

BufferSerializeFlagsTNoClusters

do not serialize glyph cluster.

BufferSerializeFlagsTNoPositions

do not serialize glyph position information.

BufferSerializeFlagsTNoGlyphNames

do no serialize glyph name.

BufferSerializeFlagsTGlyphExtents

serialize glyph extents.

BufferSerializeFlagsTGlyphFlags

serialize glyph flags. Since: 1.5.0

BufferSerializeFlagsTNoAdvances

do not serialize glyph advances, glyph offsets will reflect absolute glyph positions. Since: 1.8.0

BufferSerializeFlagsTDefined

All currently defined flags. Since: 4.4.0

AnotherBufferSerializeFlagsT Int

Catch-all for unknown values

Instances

Instances details
Enum BufferSerializeFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Show BufferSerializeFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Eq BufferSerializeFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Ord BufferSerializeFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

BoxedFlags BufferSerializeFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

IsGFlag BufferSerializeFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

TypedObject BufferSerializeFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Methods

glibType :: IO GType

HasParentTypes BufferSerializeFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes BufferSerializeFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes BufferSerializeFlagsT = '[] :: [Type]

GlyphFlagsT

data GlyphFlagsT Source #

Flags for GlyphInfoT.

Since: 1.5.0

Constructors

GlyphFlagsTUnsafeToBreak

Indicates that if input text is broken at the beginning of the cluster this glyph is part of, then both sides need to be re-shaped, as the result might be different. On the flip side, it means that when this flag is not present, then it is safe to break the glyph-run at the beginning of this cluster, and the two sides will represent the exact same result one would get if breaking input text at the beginning of this cluster and shaping the two sides separately. This can be used to optimize paragraph layout, by avoiding re-shaping of each line after line-breaking.

GlyphFlagsTUnsafeToConcat

Indicates that if input text is changed on one side of the beginning of the cluster this glyph is part of, then the shaping results for the other side might change. Note that the absence of this flag will NOT by itself mean that it IS safe to concat text. Only two pieces of text both of which clear of this flag can be concatenated safely. This can be used to optimize paragraph layout, by avoiding re-shaping of each line after line-breaking, by limiting the reshaping to a small piece around the breaking positin only, even if the breaking position carries the HB_GLYPH_FLAG_UNSAFE_TO_BREAK or when hyphenation or other text transformation happens at line-break position, in the following way: 1. Iterate back from the line-break position until the first cluster start position that is NOT unsafe-to-concat, 2. shape the segment from there till the end of line, 3. check whether the resulting glyph-run also is clear of the unsafe-to-concat at its start-of-text position; if it is, just splice it into place and the line is shaped; If not, move on to a position further back that is clear of unsafe-to-concat and retry from there, and repeat. At the start of next line a similar algorithm can be implemented. That is: 1. Iterate forward from the line-break position until the first cluster start position that is NOT unsafe-to-concat, 2. shape the segment from beginning of the line to that position, 3. check whether the resulting glyph-run also is clear of the unsafe-to-concat at its end-of-text position; if it is, just splice it into place and the beginning is shaped; If not, move on to a position further forward that is clear of unsafe-to-concat and retry up to there, and repeat. A slight complication will arise in the implementation of the algorithm above, because while our buffer API has a way to return flags for position corresponding to start-of-text, there is currently no position corresponding to end-of-text. This limitation can be alleviated by shaping more text than needed and looking for unsafe-to-concat flag within text clusters. The HB_GLYPH_FLAG_UNSAFE_TO_BREAK flag will always imply this flag. To use this flag, you must enable the buffer flag hBBUFFERFLAGPRODUCEUNSAFETOCONCAT during shaping, otherwise the buffer flag will not be reliably produced. Since: 4.0.0

GlyphFlagsTSafeToInsertTatweel

In scripts that use elongation (Arabic, Mongolian, Syriac, etc.), this flag signifies that it is safe to insert a U+0640 TATWEEL character before this cluster for elongation. This flag does not determine the script-specific elongation places, but only when it is safe to do the elongation without interrupting text shaping. Since: 5.1.0

GlyphFlagsTDefined

All the currently defined flags.

AnotherGlyphFlagsT Int

Catch-all for unknown values

Instances

Instances details
Enum GlyphFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Show GlyphFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Eq GlyphFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Ord GlyphFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

BoxedFlags GlyphFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

IsGFlag GlyphFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

TypedObject GlyphFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Methods

glibType :: IO GType

HasParentTypes GlyphFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes GlyphFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes GlyphFlagsT = '[] :: [Type]

OtColorPaletteFlagsT

data OtColorPaletteFlagsT Source #

Flags that describe the properties of color palette.

Since: 2.1.0

Constructors

OtColorPaletteFlagsTDefault

Default indicating that there is nothing special to note about a color palette.

OtColorPaletteFlagsTUsableWithLightBackground

Flag indicating that the color palette is appropriate to use when displaying the font on a light background such as white.

OtColorPaletteFlagsTUsableWithDarkBackground

Flag indicating that the color palette is appropriate to use when displaying the font on a dark background such as black.

AnotherOtColorPaletteFlagsT Int

Catch-all for unknown values

Instances

Instances details
Enum OtColorPaletteFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Show OtColorPaletteFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Eq OtColorPaletteFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Ord OtColorPaletteFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

BoxedFlags OtColorPaletteFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

IsGFlag OtColorPaletteFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

TypedObject OtColorPaletteFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Methods

glibType :: IO GType

HasParentTypes OtColorPaletteFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes OtColorPaletteFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes OtColorPaletteFlagsT = '[] :: [Type]

OtMathGlyphPartFlagsT

data OtMathGlyphPartFlagsT Source #

Flags for math glyph parts.

Since: 1.3.3

Constructors

OtMathGlyphPartFlagsTExtender

This is an extender glyph part that can be repeated to reach the desired length.

AnotherOtMathGlyphPartFlagsT Int

Catch-all for unknown values

Instances

Instances details
Enum OtMathGlyphPartFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Show OtMathGlyphPartFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Eq OtMathGlyphPartFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Ord OtMathGlyphPartFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

BoxedFlags OtMathGlyphPartFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

IsGFlag OtMathGlyphPartFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

TypedObject OtMathGlyphPartFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Methods

glibType :: IO GType

HasParentTypes OtMathGlyphPartFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes OtMathGlyphPartFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes OtMathGlyphPartFlagsT = '[] :: [Type]

OtVarAxisFlagsT

data OtVarAxisFlagsT Source #

Flags for OtVarAxisInfoT.

Since: 2.2.0

Constructors

OtVarAxisFlagsTHidden

The axis should not be exposed directly in user interfaces.

AnotherOtVarAxisFlagsT Int

Catch-all for unknown values

Instances

Instances details
Enum OtVarAxisFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Show OtVarAxisFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Eq OtVarAxisFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Ord OtVarAxisFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

BoxedFlags OtVarAxisFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

IsGFlag OtVarAxisFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

TypedObject OtVarAxisFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

Methods

glibType :: IO GType

HasParentTypes OtVarAxisFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes OtVarAxisFlagsT Source # 
Instance details

Defined in GI.HarfBuzz.Flags

type ParentTypes OtVarAxisFlagsT = '[] :: [Type]