harfbuzz.global
Global functions for harfbuzz0 library
fn aatLayoutFeatureTypeGetNameId aatLayoutFeatureTypeGetSelectorInfos aatLayoutGetFeatureTypes aatLayoutHasPositioning aatLayoutHasSubstitution aatLayoutHasTracking blobCopyWritableOrFail blobCreateFromFile blobCreateFromFileOrFail blobCreateSubBlob blobGetData blobGetDataWritable blobGetEmpty blobGetLength blobIsImmutable blobMakeImmutable bufferAdd bufferAddCodepoints bufferAddLatin1 bufferAddUtf16 bufferAddUtf32 bufferAddUtf8 bufferAllocationSuccessful bufferAppend bufferClearContents bufferCreate bufferCreateSimilar bufferDeserializeGlyphs bufferDeserializeUnicode bufferDiff bufferGetClusterLevel bufferGetContentType bufferGetDirection bufferGetEmpty bufferGetFlags bufferGetGlyphInfos bufferGetGlyphPositions bufferGetInvisibleGlyph bufferGetLanguage bufferGetLength bufferGetNotFoundGlyph bufferGetReplacementCodepoint bufferGetScript bufferGetSegmentProperties bufferGetUnicodeFuncs bufferGuessSegmentProperties bufferHasPositions bufferNormalizeGlyphs bufferPreAllocate bufferReset bufferReverse bufferReverseClusters bufferReverseRange bufferSerializeFormatFromString bufferSerializeFormatToString bufferSerializeListFormats bufferSetClusterLevel bufferSetContentType bufferSetDirection bufferSetFlags bufferSetInvisibleGlyph bufferSetLanguage bufferSetLength bufferSetMessageFunc bufferSetNotFoundGlyph bufferSetReplacementCodepoint bufferSetScript bufferSetSegmentProperties bufferSetUnicodeFuncs colorGetAlpha colorGetBlue colorGetGreen colorGetRed colorLineGetColorStops colorLineGetExtend directionFromString directionToString drawClosePath drawCubicTo drawFuncsCreate drawFuncsGetEmpty drawFuncsIsImmutable drawFuncsMakeImmutable drawFuncsSetClosePathFunc drawFuncsSetCubicToFunc drawFuncsSetLineToFunc drawFuncsSetMoveToFunc drawFuncsSetQuadraticToFunc drawLineTo drawMoveTo drawQuadraticTo faceBuilderAddTable faceBuilderCreate faceBuilderSortTables faceCount faceCreate faceCreateForTables faceGetEmpty faceGetGlyphCount faceGetIndex faceGetTableTags faceGetUpem faceIsImmutable faceMakeImmutable faceReferenceBlob faceReferenceTable faceSetGlyphCount faceSetIndex faceSetUpem featureFromString fontAddGlyphOriginForDirection fontChanged fontCreate fontCreateSubFont fontDrawGlyph fontFuncsCreate fontFuncsGetEmpty fontFuncsIsImmutable fontFuncsMakeImmutable fontFuncsSetDrawGlyphFunc fontFuncsSetFontHExtentsFunc fontFuncsSetFontVExtentsFunc fontFuncsSetGlyphContourPointFunc fontFuncsSetGlyphExtentsFunc fontFuncsSetGlyphFromNameFunc fontFuncsSetGlyphFunc fontFuncsSetGlyphHAdvanceFunc fontFuncsSetGlyphHKerningFunc fontFuncsSetGlyphHOriginFunc fontFuncsSetGlyphNameFunc fontFuncsSetGlyphShapeFunc fontFuncsSetGlyphVAdvanceFunc fontFuncsSetGlyphVKerningFunc fontFuncsSetGlyphVOriginFunc fontFuncsSetNominalGlyphFunc fontFuncsSetPaintGlyphFunc fontFuncsSetVariationGlyphFunc fontGetEmpty fontGetExtentsForDirection fontGetFace fontGetGlyph fontGetGlyphAdvanceForDirection fontGetGlyphContourPoint fontGetGlyphContourPointForOrigin fontGetGlyphExtents fontGetGlyphExtentsForOrigin fontGetGlyphFromName fontGetGlyphHAdvance fontGetGlyphHKerning fontGetGlyphHOrigin fontGetGlyphKerningForDirection fontGetGlyphOriginForDirection fontGetGlyphShape fontGetGlyphVAdvance fontGetGlyphVKerning fontGetGlyphVOrigin fontGetHExtents fontGetNominalGlyph fontGetParent fontGetPpem fontGetPtem fontGetScale fontGetSerial fontGetSyntheticBold fontGetSyntheticSlant fontGetVarCoordsDesign fontGetVarCoordsNormalized fontGetVariationGlyph fontGetVarNamedInstance fontGetVExtents fontGlyphFromString fontIsImmutable fontMakeImmutable fontPaintGlyph fontSetFace fontSetParent fontSetPpem fontSetPtem fontSetScale fontSetSyntheticBold fontSetSyntheticSlant fontSetVarCoordsDesign fontSetVarCoordsNormalized fontSetVariation fontSetVariations fontSetVarNamedInstance fontSubtractGlyphOriginForDirection ftFaceCreateCached ftFaceCreateReferenced ftFontChanged ftFontCreateReferenced ftFontGetLoadFlags ftFontSetFuncs ftFontSetLoadFlags ftHbFontChanged glibBlobCreate glibGetUnicodeFuncs glibScriptFromScript glibScriptToScript glyphInfoGetGlyphFlags languageFromString languageGetDefault languageMatches languageToString mapAllocationSuccessful mapClear mapCopy mapCreate mapDel mapGet mapGetEmpty mapGetPopulation mapHas mapHash mapIsEmpty mapIsEqual mapKeys mapNext mapSet mapUpdate mapValues otColorGlyphGetLayers otColorGlyphHasPaint otColorGlyphReferencePng otColorGlyphReferenceSvg otColorHasLayers otColorHasPaint otColorHasPalettes otColorHasPng otColorHasSvg otColorPaletteColorGetNameId otColorPaletteGetColors otColorPaletteGetCount otColorPaletteGetFlags otColorPaletteGetNameId otFontSetFuncs otLayoutFeatureGetCharacters otLayoutFeatureGetLookups otLayoutFeatureGetNameIds otLayoutFeatureWithVariationsGetLookups otLayoutGetAttachPoints otLayoutGetBaseline otLayoutGetBaseline2 otLayoutGetBaselineWithFallback otLayoutGetBaselineWithFallback2 otLayoutGetFontExtents otLayoutGetFontExtents2 otLayoutGetGlyphClass otLayoutGetHorizontalBaselineTagForScript otLayoutGetLigatureCarets otLayoutGetSizeParams otLayoutHasGlyphClasses otLayoutHasPositioning otLayoutHasSubstitution otLayoutLanguageFindFeature otLayoutLanguageGetFeatureIndexes otLayoutLanguageGetFeatureTags otLayoutLanguageGetRequiredFeature otLayoutLanguageGetRequiredFeatureIndex otLayoutLookupGetGlyphAlternates otLayoutLookupGetOpticalBound otLayoutLookupWouldSubstitute otLayoutScriptFindLanguage otLayoutScriptGetLanguageTags otLayoutScriptSelectLanguage otLayoutScriptSelectLanguage2 otLayoutTableFindFeatureVariations otLayoutTableFindScript otLayoutTableGetFeatureTags otLayoutTableGetLookupCount otLayoutTableGetScriptTags otLayoutTableSelectScript otMathGetConstant otMathGetGlyphAssembly otMathGetGlyphItalicsCorrection otMathGetGlyphKerning otMathGetGlyphKernings otMathGetGlyphTopAccentAttachment otMathGetGlyphVariants otMathGetMinConnectorOverlap otMathHasData otMathIsGlyphExtendedShape otMetaReferenceEntry otMetricsGetPosition otMetricsGetPositionWithFallback otMetricsGetVariation otMetricsGetXVariation otMetricsGetYVariation otTagFromLanguage otTagsFromScript otTagsFromScriptAndLanguage otTagsToScriptAndLanguage otTagToLanguage otTagToScript otVarFindAxisInfo otVarGetAxes otVarGetAxisCount otVarGetAxisInfos otVarGetNamedInstanceCount otVarHasData otVarNamedInstanceGetDesignCoords otVarNamedInstanceGetPostscriptNameId otVarNamedInstanceGetSubfamilyNameId otVarNormalizeCoords paintColor paintColorGlyph paintCustomPaletteColor paintFuncsCreate paintFuncsGetEmpty paintFuncsIsImmutable paintFuncsMakeImmutable paintFuncsSetColorFunc paintFuncsSetColorGlyphFunc paintFuncsSetCustomPaletteColorFunc paintFuncsSetImageFunc paintFuncsSetLinearGradientFunc paintFuncsSetPopClipFunc paintFuncsSetPopGroupFunc paintFuncsSetPopTransformFunc paintFuncsSetPushClipGlyphFunc paintFuncsSetPushClipRectangleFunc paintFuncsSetPushGroupFunc paintFuncsSetPushTransformFunc paintFuncsSetRadialGradientFunc paintFuncsSetSweepGradientFunc paintImage paintLinearGradient paintPopClip paintPopGroup paintPopTransform paintPushClipGlyph paintPushClipRectangle paintPushGroup paintPushTransform paintRadialGradient paintSweepGradient scriptFromIso15924Tag scriptFromString scriptGetHorizontalDirection scriptToIso15924Tag segmentPropertiesEqual segmentPropertiesHash segmentPropertiesOverlay setAdd setAddRange setAddSortedArray setAllocationSuccessful setClear setCopy setCreate setDel setDelRange setGetEmpty setGetMax setGetMin setGetPopulation setHas setHash setIntersect setInvert setIsEmpty setIsEqual setIsInverted setIsSubset setNext setNextMany setNextRange setPrevious setPreviousRange setSet setSubtract setSymmetricDifference setUnion shape shapeFull shapeJustify shapeListShapers shapePlanCreate shapePlanCreate2 shapePlanCreateCached shapePlanCreateCached2 shapePlanExecute shapePlanGetEmpty shapePlanGetShaper styleGetValue tagFromString unicodeCombiningClass unicodeCompose unicodeDecompose unicodeDecomposeCompatibility unicodeEastasianWidth unicodeFuncsCreate unicodeFuncsGetDefault unicodeFuncsGetEmpty unicodeFuncsGetParent unicodeFuncsIsImmutable unicodeFuncsMakeImmutable unicodeFuncsSetCombiningClassFunc unicodeFuncsSetComposeFunc unicodeFuncsSetDecomposeFunc unicodeFuncsSetEastasianWidthFunc unicodeFuncsSetGeneralCategoryFunc unicodeFuncsSetMirroringFunc unicodeFuncsSetScriptFunc unicodeGeneralCategory unicodeMirroring unicodeScript variationFromString
Functions 408
fn
harfbuzz.types.OtNameId aatLayoutFeatureTypeGetNameId(harfbuzz.face.Face face, harfbuzz.types.AatLayoutFeatureType featureType)Fetches the name identifier of the specified feature type in the face's `name` table.fn
uint aatLayoutFeatureTypeGetSelectorInfos(harfbuzz.face.Face face, harfbuzz.types.AatLayoutFeatureType featureType, uint startOffset, ref harfbuzz.types.AatLayoutFeatureSelectorInfo[] selectors, out uint defaultIndex)Fetches a list of the selectors available for the specified feature in the given face.fn
uint aatLayoutGetFeatureTypes(harfbuzz.face.Face face, uint startOffset, ref harfbuzz.types.AatLayoutFeatureType[] features)Fetches a list of the AAT feature types included in the specified face.fn
harfbuzz.types.Bool aatLayoutHasPositioning(harfbuzz.face.Face face)Tests whether the specified face includes any positioning information in the `kerx` table.fn
harfbuzz.types.Bool aatLayoutHasSubstitution(harfbuzz.face.Face face)Tests whether the specified face includes any substitutions in the `morx` or `mort` tables.fn
harfbuzz.types.Bool aatLayoutHasTracking(harfbuzz.face.Face face)Tests whether the specified face includes any tracking information in the `trak` table.fn
harfbuzz.blob.Blob blobCreateFromFile(string fileName)Creates a new blob containing the data from the specified binary font file.fn
harfbuzz.blob.Blob blobCreateFromFileOrFail(string fileName)Creates a new blob containing the data from the specified binary font file.fn
harfbuzz.blob.Blob blobCreateSubBlob(harfbuzz.blob.Blob parent, uint offset, uint length)Returns a blob that represents a range of bytes in parent. The new blob is always created with #HBMEMORYMODE_READONLY, meaning that it will never modify data in the parent blob. The parent data i...fn
string blobGetDataWritable(harfbuzz.blob.Blob blob)Tries to make blob data writable (possibly copying it) and return pointer to data.fn
void bufferAdd(harfbuzz.buffer.Buffer buffer, harfbuzz.types.Codepoint codepoint, uint cluster)Appends a character with the Unicode value of codepoint to buffer, and gives it the initial cluster value of cluster. Clusters can be any thing the client wants, they are usually used to refer to t...fn
void bufferAddCodepoints(harfbuzz.buffer.Buffer buffer, harfbuzz.types.Codepoint[] text, uint itemOffset, int itemLength)Appends characters from text array to buffer. The itemoffset is the position of the first character from text that will be appended, and itemlength is the number of character. When shaping part of ...fn
void bufferAddLatin1(harfbuzz.buffer.Buffer buffer, ubyte[] text, uint itemOffset, int itemLength)Similar to [harfbuzz.global.bufferAddCodepoints], but allows only access to first 256 Unicode code points that can fit in 8-bit strings.fn
void bufferAddUtf16(harfbuzz.buffer.Buffer buffer, ushort[] text, uint itemOffset, int itemLength)See [harfbuzz.global.bufferAddCodepoints].fn
void bufferAddUtf32(harfbuzz.buffer.Buffer buffer, uint[] text, uint itemOffset, int itemLength)See [harfbuzz.global.bufferAddCodepoints].fn
void bufferAddUtf8(harfbuzz.buffer.Buffer buffer, ubyte[] text, uint itemOffset, int itemLength)See [harfbuzz.global.bufferAddCodepoints].fn
harfbuzz.types.Bool bufferAllocationSuccessful(harfbuzz.buffer.Buffer buffer)Check if allocating memory for the buffer succeeded.fn
void bufferAppend(harfbuzz.buffer.Buffer buffer, harfbuzz.buffer.Buffer source, uint start, uint end)Append (part of) contents of another buffer to this buffer.fn
void bufferClearContents(harfbuzz.buffer.Buffer buffer)Similar to [harfbuzz.global.bufferReset], but does not clear the Unicode functions and the replacement code point.fn
harfbuzz.buffer.Buffer bufferCreate()Creates a new #hbbuffert with all properties to defaults. Returns: A newly allocated #hbbuffert with a reference count of 1. The initial reference count should be released with [harfbuzz.global.buf...fn
harfbuzz.buffer.Buffer bufferCreateSimilar(harfbuzz.buffer.Buffer src)Creates a new #hbbuffert, similar to [harfbuzz.global.bufferCreate]. The only difference is that the buffer is configured similarly to src.fn
harfbuzz.types.Bool bufferDeserializeGlyphs(harfbuzz.buffer.Buffer buffer, string buf, out string endPtr, harfbuzz.font.Font font, harfbuzz.types.BufferSerializeFormat format)Deserializes glyphs buffer from textual representation in the format produced by [harfbuzz.global.bufferSerializeGlyphs].fn
harfbuzz.types.Bool bufferDeserializeUnicode(harfbuzz.buffer.Buffer buffer, string buf, out string endPtr, harfbuzz.types.BufferSerializeFormat format)Deserializes Unicode buffer from textual representation in the format produced by [harfbuzz.global.bufferSerializeUnicode].fn
harfbuzz.types.BufferDiffFlags bufferDiff(harfbuzz.buffer.Buffer buffer, harfbuzz.buffer.Buffer reference, harfbuzz.types.Codepoint dottedcircleGlyph, uint positionFuzz)If dottedcircleglyph is (hbcodepointt) -1 then #HBBUFFERDIFFFLAGDOTTEDCIRCLEPRESENT and #HBBUFFERDIFFFLAGNOTDEFPRESENT are never returned. This should be used by most callers if just comparing two...fn
harfbuzz.types.BufferClusterLevel bufferGetClusterLevel(harfbuzz.buffer.Buffer buffer)Fetches the cluster level of a buffer. The #hbbufferclusterlevelt dictates one aspect of how HarfBuzz will treat non-base characters during shaping.fn
harfbuzz.types.BufferContentType bufferGetContentType(harfbuzz.buffer.Buffer buffer)Fetches the type of buffer contents. Buffers are either empty, contain characters (before shaping), or contain glyphs (the result of shaping).fn
harfbuzz.types.Direction bufferGetDirection(harfbuzz.buffer.Buffer buffer)See [harfbuzz.global.bufferSetDirection]fn
harfbuzz.types.BufferFlags bufferGetFlags(harfbuzz.buffer.Buffer buffer)Fetches the #hbbufferflags_t of buffer.fn
harfbuzz.glyph_info.GlyphInfo[] bufferGetGlyphInfos(harfbuzz.buffer.Buffer buffer)Returns buffer glyph information array. Returned pointer is valid as long as buffer contents are not modified.fn
harfbuzz.glyph_position.GlyphPosition[] bufferGetGlyphPositions(harfbuzz.buffer.Buffer buffer)Returns buffer glyph position array. Returned pointer is valid as long as buffer contents are not modified.fn
harfbuzz.types.Codepoint bufferGetInvisibleGlyph(harfbuzz.buffer.Buffer buffer)See [harfbuzz.global.bufferSetInvisibleGlyph].fn
harfbuzz.types.Language bufferGetLanguage(harfbuzz.buffer.Buffer buffer)See [harfbuzz.global.bufferSetLanguage].fn
harfbuzz.types.Codepoint bufferGetNotFoundGlyph(harfbuzz.buffer.Buffer buffer)See [harfbuzz.global.bufferSetNotFoundGlyph].fn
harfbuzz.types.Codepoint bufferGetReplacementCodepoint(harfbuzz.buffer.Buffer buffer)Fetches the #hbcodepointt that replaces invalid entries for a given encoding when adding text to buffer.fn
void bufferGetSegmentProperties(harfbuzz.buffer.Buffer buffer, out harfbuzz.segment_properties.SegmentProperties props)Sets props to the #hbsegmentproperties_t of buffer.fn
harfbuzz.unicode_funcs.UnicodeFuncs bufferGetUnicodeFuncs(harfbuzz.buffer.Buffer buffer)Fetches the Unicode-functions structure of a buffer.fn
void bufferGuessSegmentProperties(harfbuzz.buffer.Buffer buffer)Sets unset buffer segment properties based on buffer Unicode contents. If buffer is not empty, it must have content type #HBBUFFERCONTENTTYPEUNICODE.fn
harfbuzz.types.Bool bufferHasPositions(harfbuzz.buffer.Buffer buffer)Returns whether buffer has glyph position data. A buffer gains position data when [harfbuzz.global.bufferGetGlyphPositions] is called on it, and cleared of position data when [harfbuzz.global.buffe...fn
void bufferNormalizeGlyphs(harfbuzz.buffer.Buffer buffer)Reorders a glyph buffer to have canonical in-cluster glyph order / position. The resulting clusters should behave identical to pre-reordering clusters.fn
harfbuzz.types.Bool bufferPreAllocate(harfbuzz.buffer.Buffer buffer, uint size)Pre allocates memory for buffer to fit at least size number of items.fn
void bufferReset(harfbuzz.buffer.Buffer buffer)Resets the buffer to its initial status, as if it was just newly created with [harfbuzz.global.bufferCreate].fn
void bufferReverseClusters(harfbuzz.buffer.Buffer buffer)Reverses buffer clusters. That is, the buffer contents are reversed, then each cluster (consecutive items having the same cluster number) are reversed again.fn
void bufferReverseRange(harfbuzz.buffer.Buffer buffer, uint start, uint end)Reverses buffer contents between start and end.fn
harfbuzz.types.BufferSerializeFormat bufferSerializeFormatFromString(ubyte[] str)Parses a string into an #hbbufferserializeformatt. Does not check if str is a valid buffer serialization format, use [harfbuzz.global.bufferSerializeListFormats] to get the list of supported formats.fn
string bufferSerializeFormatToString(harfbuzz.types.BufferSerializeFormat format)Converts format to the string corresponding it, or `NULL` if it is not a valid #hbbufferserializeformatt.fn
string[] bufferSerializeListFormats()Returns a list of supported buffer serialization formats. Returns: A string array of buffer serialization formats. Should not be freed.fn
void bufferSetClusterLevel(harfbuzz.buffer.Buffer buffer, harfbuzz.types.BufferClusterLevel clusterLevel)Sets the cluster level of a buffer. The #hbbufferclusterlevelt dictates one aspect of how HarfBuzz will treat non-base characters during shaping.fn
void bufferSetContentType(harfbuzz.buffer.Buffer buffer, harfbuzz.types.BufferContentType contentType)Sets the type of buffer contents. Buffers are either empty, contain characters (before shaping), or contain glyphs (the result of shaping).fn
void bufferSetDirection(harfbuzz.buffer.Buffer buffer, harfbuzz.types.Direction direction)Set the text flow direction of the buffer. No shaping can happen without setting buffer direction, and it controls the visual direction for the output glyphs; for RTL direction the glyphs will be r...fn
void bufferSetFlags(harfbuzz.buffer.Buffer buffer, harfbuzz.types.BufferFlags flags)Sets buffer flags to flags. See #hbbufferflags_t.fn
void bufferSetInvisibleGlyph(harfbuzz.buffer.Buffer buffer, harfbuzz.types.Codepoint invisible)Sets the #hbcodepointt that replaces invisible characters in the shaping result. If set to zero (default), the glyph for the U+0020 SPACE character is used. Otherwise, this value is used verbatim.fn
void bufferSetLanguage(harfbuzz.buffer.Buffer buffer, harfbuzz.types.Language language)Sets the language of buffer to language.fn
harfbuzz.types.Bool bufferSetLength(harfbuzz.buffer.Buffer buffer, uint length)Similar to [harfbuzz.global.bufferPreAllocate], but clears any new items added at the end.fn
void bufferSetMessageFunc(harfbuzz.buffer.Buffer buffer, harfbuzz.types.BufferMessageFunc func)Sets the implementation function for #hbbuffermessagefunct.fn
void bufferSetNotFoundGlyph(harfbuzz.buffer.Buffer buffer, harfbuzz.types.Codepoint notFound)Sets the #hbcodepointt that replaces characters not found in the font during shaping.fn
void bufferSetReplacementCodepoint(harfbuzz.buffer.Buffer buffer, harfbuzz.types.Codepoint replacement)Sets the #hbcodepointt that replaces invalid entries for a given encoding when adding text to buffer.fn
void bufferSetScript(harfbuzz.buffer.Buffer buffer, harfbuzz.types.Script script)Sets the script of buffer to script.fn
void bufferSetSegmentProperties(harfbuzz.buffer.Buffer buffer, harfbuzz.segment_properties.SegmentProperties props)Sets the segment properties of the buffer, a shortcut for calling [harfbuzz.global.bufferSetDirection], [harfbuzz.global.bufferSetScript] and [harfbuzz.global.bufferSetLanguage] individually.fn
void bufferSetUnicodeFuncs(harfbuzz.buffer.Buffer buffer, harfbuzz.unicode_funcs.UnicodeFuncs unicodeFuncs)Sets the Unicode-functions structure of a buffer to unicode_funcs.fn
uint colorLineGetColorStops(harfbuzz.color_line.ColorLine colorLine, uint start, ref harfbuzz.types.ColorStop[] colorStops)Fetches a list of color stops from the given color line object.fn
harfbuzz.types.PaintExtend colorLineGetExtend(harfbuzz.color_line.ColorLine colorLine)Fetches the extend mode of the color line object.fn
string directionToString(harfbuzz.types.Direction direction)Converts an #hbdirectiont to a string.fn
void drawClosePath(harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData, harfbuzz.draw_state.DrawState st)Perform a "close-path" draw operation.fn
void drawCubicTo(harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData, harfbuzz.draw_state.DrawState st, float control1X, float control1Y, float control2X, float control2Y, float toX, float toY)Perform a "cubic-to" draw operation.fn
harfbuzz.draw_funcs.DrawFuncs drawFuncsCreate()Creates a new draw callbacks object. Returns: A newly allocated #hbdrawfuncst with a reference count of 1. The initial reference count should be released with hbdrawfuncsdestroy when you are done u...fn
harfbuzz.draw_funcs.DrawFuncs drawFuncsGetEmpty()Fetches the singleton empty draw-functions structure. Returns: The empty draw-functions structurefn
harfbuzz.types.Bool drawFuncsIsImmutable(harfbuzz.draw_funcs.DrawFuncs dfuncs)Checks whether dfuncs is immutable.fn
void drawFuncsSetClosePathFunc(harfbuzz.draw_funcs.DrawFuncs dfuncs, harfbuzz.types.DrawClosePathFunc func)Sets close-path callback to the draw functions object.fn
void drawFuncsSetCubicToFunc(harfbuzz.draw_funcs.DrawFuncs dfuncs, harfbuzz.types.DrawCubicToFunc func)Sets cubic-to callback to the draw functions object.fn
void drawFuncsSetLineToFunc(harfbuzz.draw_funcs.DrawFuncs dfuncs, harfbuzz.types.DrawLineToFunc func)Sets line-to callback to the draw functions object.fn
void drawFuncsSetMoveToFunc(harfbuzz.draw_funcs.DrawFuncs dfuncs, harfbuzz.types.DrawMoveToFunc func)Sets move-to callback to the draw functions object.fn
void drawFuncsSetQuadraticToFunc(harfbuzz.draw_funcs.DrawFuncs dfuncs, harfbuzz.types.DrawQuadraticToFunc func)Sets quadratic-to callback to the draw functions object.fn
void drawLineTo(harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData, harfbuzz.draw_state.DrawState st, float toX, float toY)Perform a "line-to" draw operation.fn
void drawMoveTo(harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData, harfbuzz.draw_state.DrawState st, float toX, float toY)Perform a "move-to" draw operation.fn
void drawQuadraticTo(harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData, harfbuzz.draw_state.DrawState st, float controlX, float controlY, float toX, float toY)Perform a "quadratic-to" draw operation.fn
harfbuzz.types.Bool faceBuilderAddTable(harfbuzz.face.Face face, harfbuzz.types.Tag tag, harfbuzz.blob.Blob blob)Add table for tag with data provided by blob to the face. face must be created using [harfbuzz.global.faceBuilderCreate].fn
harfbuzz.face.Face faceBuilderCreate()Creates a #hbfacet that can be used with [harfbuzz.global.faceBuilderAddTable]. After tables are added to the face, it can be compiled to a binary font file by calling [harfbuzz.global.faceReferenc...fn
void faceBuilderSortTables(harfbuzz.face.Face face, harfbuzz.types.Tag[] tags)Set the ordering of tables for serialization. Any tables not specified in the tags list will be ordered after the tables in tags, ordered by the default sort ordering.fn
harfbuzz.face.Face faceCreate(harfbuzz.blob.Blob blob, uint index)Constructs a new face object from the specified blob and a face index into that blob.fn
harfbuzz.face.Face faceCreateForTables(harfbuzz.types.ReferenceTableFunc referenceTableFunc)Variant of [harfbuzz.global.faceCreate], built for those cases where it is more convenient to provide data for individual tables instead of the whole font data. With the caveat that [harfbuzz.globa...fn
harfbuzz.face.Face faceGetEmpty()Fetches the singleton empty face object. Returns: The empty face objectfn
uint faceGetGlyphCount(harfbuzz.face.Face face)Fetches the glyph-count value of the specified face object.fn
uint faceGetTableTags(harfbuzz.face.Face face, uint startOffset, ref harfbuzz.types.Tag[] tableTags)Fetches a list of all table tags for a face, if possible. The list returned will begin at the offset providedfn
uint faceGetUpem(harfbuzz.face.Face face)Fetches the units-per-em (UPEM) value of the specified face object.fn
harfbuzz.types.Bool faceIsImmutable(harfbuzz.face.Face face)Tests whether the given face object is immutable.fn
harfbuzz.blob.Blob faceReferenceBlob(harfbuzz.face.Face face)Fetches a pointer to the binary blob that contains the specified face. Returns an empty blob if referencing face data is not possible.fn
harfbuzz.blob.Blob faceReferenceTable(harfbuzz.face.Face face, harfbuzz.types.Tag tag)Fetches a reference to the specified table within the specified face.fn
void faceSetGlyphCount(harfbuzz.face.Face face, uint glyphCount)Sets the glyph count for a face object to the specified value.fn
void faceSetIndex(harfbuzz.face.Face face, uint index)Assigns the specified face-index to face. Fails if the face is immutable.fn
void faceSetUpem(harfbuzz.face.Face face, uint upem)Sets the units-per-em (upem) for a face object to the specified value.fn
harfbuzz.types.Bool featureFromString(ubyte[] str, out harfbuzz.feature.Feature feature)Parses a string into a #hbfeaturet.fn
void fontAddGlyphOriginForDirection(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.types.Direction direction, ref harfbuzz.types.Position x, ref harfbuzz.types.Position y)Adds the origin coordinates to an (X,Y) point coordinate, in the specified glyph ID in the specified font.fn
void fontChanged(harfbuzz.font.Font font)Notifies the font that underlying font data has changed. This has the effect of increasing the serial as returned by [harfbuzz.global.fontGetSerial], which invalidates internal caches.fn
harfbuzz.font.Font fontCreate(harfbuzz.face.Face face)Constructs a new font object from the specified face.fn
harfbuzz.font.Font fontCreateSubFont(harfbuzz.font.Font parent)Constructs a sub-font font object from the specified parent font, replicating the parent's properties.fn
void fontDrawGlyph(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData = null)Draws the outline that corresponds to a glyph in the specified font.fn
harfbuzz.font_funcs.FontFuncs fontFuncsCreate()Creates a new #hbfontfuncs_t structure of font functions. Returns: The font-functions structurefn
harfbuzz.font_funcs.FontFuncs fontFuncsGetEmpty()Fetches an empty font-functions structure. Returns: The font-functions structurefn
harfbuzz.types.Bool fontFuncsIsImmutable(harfbuzz.font_funcs.FontFuncs ffuncs)Tests whether a font-functions structure is immutable.fn
void fontFuncsMakeImmutable(harfbuzz.font_funcs.FontFuncs ffuncs)Makes a font-functions structure immutable.fn
void fontFuncsSetDrawGlyphFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontDrawGlyphFunc func)Sets the implementation function for #hbfontdrawglyphfunc_t.fn
void fontFuncsSetFontHExtentsFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetFontHExtentsFunc func)Sets the implementation function for #hbfontgetfonthextentsfunc_t.fn
void fontFuncsSetFontVExtentsFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetFontVExtentsFunc func)Sets the implementation function for #hbfontgetfontvextentsfunc_t.fn
void fontFuncsSetGlyphContourPointFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphContourPointFunc func)Sets the implementation function for #hbfontgetglyphcontourpointfunc_t.fn
void fontFuncsSetGlyphExtentsFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphExtentsFunc func)Sets the implementation function for #hbfontgetglyphextentsfunct.fn
void fontFuncsSetGlyphFromNameFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphFromNameFunc func)Sets the implementation function for #hbfontgetglyphfromnamefunc_t.fn
void fontFuncsSetGlyphFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphFunc func)Deprecated. Use [harfbuzz.global.fontFuncsSetNominalGlyphFunc] and [harfbuzz.global.fontFuncsSetVariationGlyphFunc] instead.fn
void fontFuncsSetGlyphHAdvanceFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphHAdvanceFunc func)Sets the implementation function for #hbfontgetglyphhadvancefunc_t.fn
void fontFuncsSetGlyphHKerningFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphHKerningFunc func)Sets the implementation function for #hbfontgetglyphhkerningfunc_t.fn
void fontFuncsSetGlyphHOriginFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphHOriginFunc func)Sets the implementation function for #hbfontgetglyphhoriginfunc_t.fn
void fontFuncsSetGlyphNameFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphNameFunc func)Sets the implementation function for #hbfontgetglyphnamefunct.fn
void fontFuncsSetGlyphShapeFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphShapeFunc func)Sets the implementation function for #hbfontgetglyphshapefunct, which is the same as #hbfontdrawglyphfunc_t.fn
void fontFuncsSetGlyphVAdvanceFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphVAdvanceFunc func)Sets the implementation function for #hbfontgetglyphvadvancefunc_t.fn
void fontFuncsSetGlyphVKerningFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphVKerningFunc func)Sets the implementation function for #hbfontgetglyphvkerningfunc_t.fn
void fontFuncsSetGlyphVOriginFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetGlyphVOriginFunc func)Sets the implementation function for #hbfontgetglyphvoriginfunc_t.fn
void fontFuncsSetNominalGlyphFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetNominalGlyphFunc func)Sets the implementation function for #hbfontgetnominalglyphfunct.fn
void fontFuncsSetPaintGlyphFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontPaintGlyphFunc func)Sets the implementation function for #hbfontpaintglyphfunc_t.fn
void fontFuncsSetVariationGlyphFunc(harfbuzz.font_funcs.FontFuncs ffuncs, harfbuzz.types.FontGetVariationGlyphFunc func)Sets the implementation function for #hbfontgetvariationglyphfunct.fn
void fontGetExtentsForDirection(harfbuzz.font.Font font, harfbuzz.types.Direction direction, out harfbuzz.types.FontExtents extents)Fetches the extents for a font in a text segment of the specified direction.fn
harfbuzz.face.Face fontGetFace(harfbuzz.font.Font font)Fetches the face associated with the specified font object.fn
harfbuzz.types.Bool fontGetGlyph(harfbuzz.font.Font font, harfbuzz.types.Codepoint unicode, harfbuzz.types.Codepoint variationSelector, out harfbuzz.types.Codepoint glyph)Fetches the glyph ID for a Unicode code point in the specified font, with an optional variation selector.fn
void fontGetGlyphAdvanceForDirection(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.types.Direction direction, out harfbuzz.types.Position x, out harfbuzz.types.Position y)Fetches the advance for a glyph ID from the specified font, in a text segment of the specified direction.fn
harfbuzz.types.Bool fontGetGlyphContourPoint(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, uint pointIndex, out harfbuzz.types.Position x, out harfbuzz.types.Position y)Fetches the (x,y) coordinates of a specified contour-point index in the specified glyph, within the specified font.fn
harfbuzz.types.Bool fontGetGlyphContourPointForOrigin(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, uint pointIndex, harfbuzz.types.Direction direction, out harfbuzz.types.Position x, out harfbuzz.types.Position y)Fetches the (X,Y) coordinates of a specified contour-point index in the specified glyph ID in the specified font, with respect to the origin in a text segment in the specified direction.fn
harfbuzz.types.Bool fontGetGlyphExtents(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, out harfbuzz.types.GlyphExtents extents)Fetches the #hbglyphextents_t data for a glyph ID in the specified font.fn
harfbuzz.types.Bool fontGetGlyphExtentsForOrigin(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.types.Direction direction, out harfbuzz.types.GlyphExtents extents)Fetches the #hbglyphextents_t data for a glyph ID in the specified font, with respect to the origin in a text segment in the specified direction.fn
harfbuzz.types.Bool fontGetGlyphFromName(harfbuzz.font.Font font, string name, out harfbuzz.types.Codepoint glyph)Fetches the glyph ID that corresponds to a name string in the specified font.fn
harfbuzz.types.Position fontGetGlyphHAdvance(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph)Fetches the advance for a glyph ID in the specified font, for horizontal text segments.fn
harfbuzz.types.Position fontGetGlyphHKerning(harfbuzz.font.Font font, harfbuzz.types.Codepoint leftGlyph, harfbuzz.types.Codepoint rightGlyph)Fetches the kerning-adjustment value for a glyph-pair in the specified font, for horizontal text segments.fn
harfbuzz.types.Bool fontGetGlyphHOrigin(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, out harfbuzz.types.Position x, out harfbuzz.types.Position y)Fetches the (X,Y) coordinates of the origin for a glyph ID in the specified font, for horizontal text segments.fn
void fontGetGlyphKerningForDirection(harfbuzz.font.Font font, harfbuzz.types.Codepoint firstGlyph, harfbuzz.types.Codepoint secondGlyph, harfbuzz.types.Direction direction, out harfbuzz.types.Position x, out harfbuzz.types.Position y)Fetches the kerning-adjustment value for a glyph-pair in the specified font.fn
void fontGetGlyphOriginForDirection(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.types.Direction direction, out harfbuzz.types.Position x, out harfbuzz.types.Position y)Fetches the (X,Y) coordinates of the origin for a glyph in the specified font.fn
void fontGetGlyphShape(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData = null)Fetches the glyph shape that corresponds to a glyph in the specified font. The shape is returned by way of calls to the callbacks of the dfuncs objects, with draw_data passed to them.fn
harfbuzz.types.Position fontGetGlyphVAdvance(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph)Fetches the advance for a glyph ID in the specified font, for vertical text segments.fn
harfbuzz.types.Position fontGetGlyphVKerning(harfbuzz.font.Font font, harfbuzz.types.Codepoint topGlyph, harfbuzz.types.Codepoint bottomGlyph)Fetches the kerning-adjustment value for a glyph-pair in the specified font, for vertical text segments.fn
harfbuzz.types.Bool fontGetGlyphVOrigin(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, out harfbuzz.types.Position x, out harfbuzz.types.Position y)Fetches the (X,Y) coordinates of the origin for a glyph ID in the specified font, for vertical text segments.fn
harfbuzz.types.Bool fontGetHExtents(harfbuzz.font.Font font, out harfbuzz.types.FontExtents extents)Fetches the extents for a specified font, for horizontal text segments.fn
harfbuzz.types.Bool fontGetNominalGlyph(harfbuzz.font.Font font, harfbuzz.types.Codepoint unicode, out harfbuzz.types.Codepoint glyph)Fetches the nominal glyph ID for a Unicode code point in the specified font.fn
void fontGetPpem(harfbuzz.font.Font font, out uint xPpem, out uint yPpem)Fetches the horizontal and vertical points-per-em (ppem) of a font.fn
float fontGetPtem(harfbuzz.font.Font font)Fetches the "point size" of a font. Used in CoreText to implement optical sizing.fn
void fontGetScale(harfbuzz.font.Font font, out int xScale, out int yScale)Fetches the horizontal and vertical scale of a font.fn
uint fontGetSerial(harfbuzz.font.Font font)Returns the internal serial number of the font. The serial number is increased every time a setting on the font is changed, using a setter function.fn
void fontGetSyntheticBold(harfbuzz.font.Font font, out float xEmbolden, out float yEmbolden, out harfbuzz.types.Bool inPlace)Fetches the "synthetic boldness" parameters of a font.fn
harfbuzz.types.Bool fontGetVExtents(harfbuzz.font.Font font, out harfbuzz.types.FontExtents extents)Fetches the extents for a specified font, for vertical text segments.fn
float[] fontGetVarCoordsDesign(harfbuzz.font.Font font)Fetches the list of variation coordinates (in design-space units) currently set on a font.fn
int[] fontGetVarCoordsNormalized(harfbuzz.font.Font font)Fetches the list of normalized variation coordinates currently set on a font.fn
uint fontGetVarNamedInstance(harfbuzz.font.Font font)Returns the currently-set named-instance index of the font.fn
harfbuzz.types.Bool fontGetVariationGlyph(harfbuzz.font.Font font, harfbuzz.types.Codepoint unicode, harfbuzz.types.Codepoint variationSelector, out harfbuzz.types.Codepoint glyph)Fetches the glyph ID for a Unicode code point when followed by by the specified variation-selector code point, in the specified font.fn
harfbuzz.types.Bool fontGlyphFromString(harfbuzz.font.Font font, ubyte[] s, out harfbuzz.types.Codepoint glyph)Fetches the glyph ID from font that matches the specified string. Strings of the format `gidDDD` or `uniUUUU` are parsed automatically.fn
harfbuzz.types.Bool fontIsImmutable(harfbuzz.font.Font font)Tests whether a font object is immutable.fn
void fontPaintGlyph(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.paint_funcs.PaintFuncs pfuncs, void * paintData, uint paletteIndex, harfbuzz.types.Color foreground)Paints the glyph.fn
void fontSetFace(harfbuzz.font.Font font, harfbuzz.face.Face face)Sets face as the font-face value of font.fn
void fontSetParent(harfbuzz.font.Font font, harfbuzz.font.Font parent)Sets the parent font of font.fn
void fontSetPpem(harfbuzz.font.Font font, uint xPpem, uint yPpem)Sets the horizontal and vertical pixels-per-em (PPEM) of a font.fn
void fontSetPtem(harfbuzz.font.Font font, float ptem)Sets the "point size" of a font. Set to zero to unset. Used in CoreText to implement optical sizing.fn
void fontSetScale(harfbuzz.font.Font font, int xScale, int yScale)Sets the horizontal and vertical scale of a font.fn
void fontSetSyntheticBold(harfbuzz.font.Font font, float xEmbolden, float yEmbolden, harfbuzz.types.Bool inPlace)Sets the "synthetic boldness" of a font.fn
void fontSetSyntheticSlant(harfbuzz.font.Font font, float slant)Sets the "synthetic slant" of a font. By default is zero. Synthetic slant is the graphical skew applied to the font at rendering time.fn
void fontSetVarCoordsDesign(harfbuzz.font.Font font, float[] coords)Applies a list of variation coordinates (in design-space units) to a font.fn
void fontSetVarCoordsNormalized(harfbuzz.font.Font font, int[] coords)Applies a list of variation coordinates (in normalized units) to a font.fn
void fontSetVarNamedInstance(harfbuzz.font.Font font, uint instanceIndex)Sets design coords of a font from a named-instance index.fn
void fontSetVariation(harfbuzz.font.Font font, harfbuzz.types.Tag tag, float value)Change the value of one variation axis on the font.fn
void fontSetVariations(harfbuzz.font.Font font, harfbuzz.variation.Variation[] variations)Applies a list of font-variation settings to a font.fn
void fontSubtractGlyphOriginForDirection(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.types.Direction direction, ref harfbuzz.types.Position x, ref harfbuzz.types.Position y)Subtracts the origin coordinates from an (X,Y) point coordinate, in the specified glyph ID in the specified font.fn
harfbuzz.face.Face ftFaceCreateCached(freetype2.types.Face ftFace)Creates an #hbfacet face object from the specified FT_Face.fn
harfbuzz.face.Face ftFaceCreateReferenced(freetype2.types.Face ftFace)Creates an #hbfacet face object from the specified FT_Face.fn
void ftFontChanged(harfbuzz.font.Font font)Refreshes the state of font when the underlying FTFace has changed. This function should be called after changing the size or variation-axis settings on the FTFace.fn
harfbuzz.font.Font ftFontCreateReferenced(freetype2.types.Face ftFace)Creates an #hbfontt font object from the specified FT_Face.fn
int ftFontGetLoadFlags(harfbuzz.font.Font font)Fetches the FTLoadGlyph load flags of the specified #hbfontt.fn
void ftFontSetFuncs(harfbuzz.font.Font font)Configures the font-functions structure of the specified #hbfontt font object to use FreeType font functions.fn
void ftFontSetLoadFlags(harfbuzz.font.Font font, int loadFlags)Sets the FTLoadGlyph load flags for the specified #hbfontt.fn
harfbuzz.types.Bool ftHbFontChanged(harfbuzz.font.Font font)Refreshes the state of the underlying FTFace of font when the hbfont_t font has changed. This function should be called after changing the size or variation-axis settings on the font. This call is ...fn
harfbuzz.blob.Blob glibBlobCreate(glib.bytes.Bytes gbytes)Creates an #hbblobt blob from the specified GBytes data structure.fn
harfbuzz.unicode_funcs.UnicodeFuncs glibGetUnicodeFuncs()Fetches a Unicode-functions structure that is populated with the appropriate GLib function for each method. Returns: a pointer to the #hbunicodefuncs_t Unicode-functions structurefn
glib.types.UnicodeScript glibScriptFromScript(harfbuzz.types.Script script)Fetches the GUnicodeScript identifier that corresponds to the specified #hbscriptt script.fn
harfbuzz.types.Script glibScriptToScript(glib.types.UnicodeScript script)Fetches the #hbscriptt script that corresponds to the specified GUnicodeScript identifier.fn
harfbuzz.types.GlyphFlags glyphInfoGetGlyphFlags(harfbuzz.glyph_info.GlyphInfo info)Returns glyph flags encoded within a #hbglyphinfo_t.fn
harfbuzz.types.Language languageFromString(ubyte[] str)Converts str representing a BCP 47 language tag to the corresponding #hblanguaget.fn
harfbuzz.types.Bool languageMatches(harfbuzz.types.Language language, harfbuzz.types.Language specific)Check whether a second language tag is the same or a more specific version of the provided language tag. For example, "faIR.utf8" is a more specific tag for "fa" or for "faIR".fn
harfbuzz.types.Bool mapAllocationSuccessful(harfbuzz.map.Map map)Tests whether memory allocation for a set was successful.fn
void mapDel(harfbuzz.map.Map map, harfbuzz.types.Codepoint key)Removes key and its stored value from map.fn
harfbuzz.types.Codepoint mapGet(harfbuzz.map.Map map, harfbuzz.types.Codepoint key)Fetches the value stored for key in map.fn
harfbuzz.types.Bool mapHas(harfbuzz.map.Map map, harfbuzz.types.Codepoint key)Tests whether key is an element of map.fn
harfbuzz.types.Bool mapIsEmpty(harfbuzz.map.Map map)Tests whether map is empty (contains no elements).fn
harfbuzz.types.Bool mapIsEqual(harfbuzz.map.Map map, harfbuzz.map.Map other)Tests whether map and other are equal (contain the same elements).fn
harfbuzz.types.Bool mapNext(harfbuzz.map.Map map, ref int idx, out harfbuzz.types.Codepoint key, out harfbuzz.types.Codepoint value)Fetches the next key/value pair in map.fn
void mapSet(harfbuzz.map.Map map, harfbuzz.types.Codepoint key, harfbuzz.types.Codepoint value)Stores key:value in the map.fn
uint otColorGlyphGetLayers(harfbuzz.face.Face face, harfbuzz.types.Codepoint glyph, uint startOffset, ref harfbuzz.types.OtColorLayer[] layers)Fetches a list of all color layers for the specified glyph index in the specified face. The list returned will begin at the offset provided.fn
harfbuzz.types.Bool otColorGlyphHasPaint(harfbuzz.face.Face face, harfbuzz.types.Codepoint glyph)Tests where a face includes COLRv1 paint data for glyph.fn
harfbuzz.blob.Blob otColorGlyphReferencePng(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph)Fetches the PNG image for a glyph. This function takes a font object, not a face object, as input. To get an optimally sized PNG blob, the PPEM values must be set on the font object. If PPEM is uns...fn
harfbuzz.blob.Blob otColorGlyphReferenceSvg(harfbuzz.face.Face face, harfbuzz.types.Codepoint glyph)Fetches the SVG document for a glyph. The blob may be either plain text or gzip-encoded.fn
harfbuzz.types.Bool otColorHasLayers(harfbuzz.face.Face face)Tests whether a face includes a `COLR` table with data according to COLRv0.fn
harfbuzz.types.Bool otColorHasPaint(harfbuzz.face.Face face)Tests where a face includes a `COLR` table with data according to COLRv1.fn
harfbuzz.types.Bool otColorHasPalettes(harfbuzz.face.Face face)Tests whether a face includes a `CPAL` color-palette table.fn
harfbuzz.types.Bool otColorHasPng(harfbuzz.face.Face face)Tests whether a face has PNG glyph images (either in `CBDT` or `sbix` tables).fn
harfbuzz.types.Bool otColorHasSvg(harfbuzz.face.Face face)Tests whether a face includes any `SVG` glyph images.fn
harfbuzz.types.OtNameId otColorPaletteColorGetNameId(harfbuzz.face.Face face, uint colorIndex)Fetches the `name` table Name ID that provides display names for the specified color in a face's `CPAL` color palette.fn
uint otColorPaletteGetColors(harfbuzz.face.Face face, uint paletteIndex, uint startOffset, ref harfbuzz.types.Color[] colors)Fetches a list of the colors in a color palette.fn
uint otColorPaletteGetCount(harfbuzz.face.Face face)Fetches the number of color palettes in a face.fn
harfbuzz.types.OtColorPaletteFlags otColorPaletteGetFlags(harfbuzz.face.Face face, uint paletteIndex)Fetches the flags defined for a color palette.fn
harfbuzz.types.OtNameId otColorPaletteGetNameId(harfbuzz.face.Face face, uint paletteIndex)Fetches the `name` table Name ID that provides display names for a `CPAL` color palette.fn
void otFontSetFuncs(harfbuzz.font.Font font)Sets the font functions to use when working with font.fn
uint otLayoutFeatureGetCharacters(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint featureIndex, uint startOffset, ref harfbuzz.types.Codepoint[] characters)Fetches a list of the characters defined as having a variant under the specified "Character Variant" ("cvXX") feature tag.fn
uint otLayoutFeatureGetLookups(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint featureIndex, uint startOffset, ref uint[] lookupIndexes)Fetches a list of all lookups enumerated for the specified feature, in the specified face's GSUB table or GPOS table. The list returned will begin at the offset provided.fn
harfbuzz.types.Bool otLayoutFeatureGetNameIds(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint featureIndex, out harfbuzz.types.OtNameId labelId, out harfbuzz.types.OtNameId tooltipId, out harfbuzz.types.OtNameId sampleId, out uint numNamedParameters, out harfbuzz.types.OtNameId firstParamId)Fetches name indices from feature parameters for "Stylistic Set" ('ssXX') or "Character Variant" ('cvXX') features.fn
uint otLayoutFeatureWithVariationsGetLookups(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint featureIndex, uint variationsIndex, uint startOffset, ref uint[] lookupIndexes)Fetches a list of all lookups enumerated for the specified feature, in the specified face's GSUB table or GPOS table, enabled at the specified variations index. The list returned will begin at the ...fn
uint otLayoutGetAttachPoints(harfbuzz.face.Face face, harfbuzz.types.Codepoint glyph, uint startOffset, ref uint[] pointArray)Fetches a list of all attachment points for the specified glyph in the GDEF table of the face. The list returned will begin at the offset provided.fn
harfbuzz.types.Bool otLayoutGetBaseline(harfbuzz.font.Font font, harfbuzz.types.OtLayoutBaselineTag baselineTag, harfbuzz.types.Direction direction, harfbuzz.types.Tag scriptTag, harfbuzz.types.Tag languageTag, out harfbuzz.types.Position coord)Fetches a baseline value from the face.fn
harfbuzz.types.Bool otLayoutGetBaseline2(harfbuzz.font.Font font, harfbuzz.types.OtLayoutBaselineTag baselineTag, harfbuzz.types.Direction direction, harfbuzz.types.Script script, harfbuzz.types.Language language, out harfbuzz.types.Position coord)Fetches a baseline value from the face.fn
void otLayoutGetBaselineWithFallback(harfbuzz.font.Font font, harfbuzz.types.OtLayoutBaselineTag baselineTag, harfbuzz.types.Direction direction, harfbuzz.types.Tag scriptTag, harfbuzz.types.Tag languageTag, out harfbuzz.types.Position coord)Fetches a baseline value from the face, and synthesizes it if the font does not have it.fn
void otLayoutGetBaselineWithFallback2(harfbuzz.font.Font font, harfbuzz.types.OtLayoutBaselineTag baselineTag, harfbuzz.types.Direction direction, harfbuzz.types.Script script, harfbuzz.types.Language language, out harfbuzz.types.Position coord)Fetches a baseline value from the face, and synthesizes it if the font does not have it.fn
harfbuzz.types.Bool otLayoutGetFontExtents(harfbuzz.font.Font font, harfbuzz.types.Direction direction, harfbuzz.types.Tag scriptTag, harfbuzz.types.Tag languageTag, out harfbuzz.types.FontExtents extents)Fetches script/language-specific font extents. These values are looked up in the `BASE` table's `MinMax` records.fn
harfbuzz.types.Bool otLayoutGetFontExtents2(harfbuzz.font.Font font, harfbuzz.types.Direction direction, harfbuzz.types.Script script, harfbuzz.types.Language language, out harfbuzz.types.FontExtents extents)Fetches script/language-specific font extents. These values are looked up in the `BASE` table's `MinMax` records.fn
harfbuzz.types.OtLayoutGlyphClass otLayoutGetGlyphClass(harfbuzz.face.Face face, harfbuzz.types.Codepoint glyph)Fetches the GDEF class of the requested glyph in the specified face.fn
harfbuzz.types.OtLayoutBaselineTag otLayoutGetHorizontalBaselineTagForScript(harfbuzz.types.Script script)Fetches the dominant horizontal baseline tag used by script.fn
uint otLayoutGetLigatureCarets(harfbuzz.font.Font font, harfbuzz.types.Direction direction, harfbuzz.types.Codepoint glyph, uint startOffset, ref harfbuzz.types.Position[] caretArray)Fetches a list of the caret positions defined for a ligature glyph in the GDEF table of the font. The list returned will begin at the offset provided.fn
harfbuzz.types.Bool otLayoutGetSizeParams(harfbuzz.face.Face face, out uint designSize, out uint subfamilyId, out harfbuzz.types.OtNameId subfamilyNameId, out uint rangeStart, out uint rangeEnd)Fetches optical-size feature data (i.e., the `size` feature from GPOS). Note that the subfamilyid and the subfamily name string (accessible via the subfamilyname_id) as used here are defined as per...fn
harfbuzz.types.Bool otLayoutHasGlyphClasses(harfbuzz.face.Face face)Tests whether a face has any glyph classes defined in its GDEF table.fn
harfbuzz.types.Bool otLayoutHasPositioning(harfbuzz.face.Face face)Tests whether the specified face includes any GPOS positioning.fn
harfbuzz.types.Bool otLayoutHasSubstitution(harfbuzz.face.Face face)Tests whether the specified face includes any GSUB substitutions.fn
harfbuzz.types.Bool otLayoutLanguageFindFeature(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint scriptIndex, uint languageIndex, harfbuzz.types.Tag featureTag, out uint featureIndex)Fetches the index of a given feature tag in the specified face's GSUB table or GPOS table, underneath the specified script and language.fn
uint otLayoutLanguageGetFeatureIndexes(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint scriptIndex, uint languageIndex, uint startOffset, ref uint[] featureIndexes)Fetches a list of all features in the specified face's GSUB table or GPOS table, underneath the specified script and language. The list returned will begin at the offset provided.fn
uint otLayoutLanguageGetFeatureTags(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint scriptIndex, uint languageIndex, uint startOffset, ref harfbuzz.types.Tag[] featureTags)Fetches a list of all features in the specified face's GSUB table or GPOS table, underneath the specified script and language. The list returned will begin at the offset provided.fn
harfbuzz.types.Bool otLayoutLanguageGetRequiredFeature(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint scriptIndex, uint languageIndex, out uint featureIndex, out harfbuzz.types.Tag featureTag)Fetches the tag of a requested feature index in the given face's GSUB or GPOS table, underneath the specified script and language.fn
harfbuzz.types.Bool otLayoutLanguageGetRequiredFeatureIndex(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint scriptIndex, uint languageIndex, out uint featureIndex)Fetches the index of a requested feature in the given face's GSUB or GPOS table, underneath the specified script and language.fn
uint otLayoutLookupGetGlyphAlternates(harfbuzz.face.Face face, uint lookupIndex, harfbuzz.types.Codepoint glyph, uint startOffset, ref harfbuzz.types.Codepoint[] alternateGlyphs)Fetches alternates of a glyph from a given GSUB lookup index.fn
harfbuzz.types.Position otLayoutLookupGetOpticalBound(harfbuzz.font.Font font, uint lookupIndex, harfbuzz.types.Direction direction, harfbuzz.types.Codepoint glyph)Fetches the optical bound of a glyph positioned at the margin of text. The direction identifies which edge of the glyph to query.fn
harfbuzz.types.Bool otLayoutLookupWouldSubstitute(harfbuzz.face.Face face, uint lookupIndex, harfbuzz.types.Codepoint[] glyphs, harfbuzz.types.Bool zeroContext)Tests whether a specified lookup in the specified face would trigger a substitution on the given glyph sequence.fn
harfbuzz.types.Bool otLayoutScriptFindLanguage(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint scriptIndex, harfbuzz.types.Tag languageTag, out uint languageIndex)Fetches the index of a given language tag in the specified face's GSUB table or GPOS table, underneath the specified script tag.fn
uint otLayoutScriptGetLanguageTags(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint scriptIndex, uint startOffset, ref harfbuzz.types.Tag[] languageTags)Fetches a list of language tags in the given face's GSUB or GPOS table, underneath the specified script index. The list returned will begin at the offset provided.fn
harfbuzz.types.Bool otLayoutScriptSelectLanguage(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint scriptIndex, harfbuzz.types.Tag[] languageTags, out uint languageIndex)Fetches the index of the first language tag fom language_tags that is present in the specified face's GSUB or GPOS table, underneath the specified script index.fn
harfbuzz.types.Bool otLayoutScriptSelectLanguage2(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint scriptIndex, harfbuzz.types.Tag[] languageTags, out uint languageIndex, out harfbuzz.types.Tag chosenLanguage)Fetches the index of the first language tag fom language_tags that is present in the specified face's GSUB or GPOS table, underneath the specified script index.fn
harfbuzz.types.Bool otLayoutTableFindFeatureVariations(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, int[] coords, out uint variationsIndex)Fetches a list of feature variations in the specified face's GSUB table or GPOS table, at the specified variation coordinates.fn
harfbuzz.types.Bool otLayoutTableFindScript(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, harfbuzz.types.Tag scriptTag, out uint scriptIndex)Fetches the index if a given script tag in the specified face's GSUB table or GPOS table.fn
uint otLayoutTableGetFeatureTags(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint startOffset, ref harfbuzz.types.Tag[] featureTags)Fetches a list of all feature tags in the given face's GSUB or GPOS table. Note that there might be duplicate feature tags, belonging to different script/language-system pairs of the table.fn
uint otLayoutTableGetLookupCount(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag)Fetches the total number of lookups enumerated in the specified face's GSUB table or GPOS table.fn
uint otLayoutTableGetScriptTags(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, uint startOffset, ref harfbuzz.types.Tag[] scriptTags)Fetches a list of all scripts enumerated in the specified face's GSUB table or GPOS table. The list returned will begin at the offset provided.fn
harfbuzz.types.Bool otLayoutTableSelectScript(harfbuzz.face.Face face, harfbuzz.types.Tag tableTag, harfbuzz.types.Tag[] scriptTags, out uint scriptIndex, out harfbuzz.types.Tag chosenScript)Selects an OpenType script for tabletag from the scripttags array.fn
harfbuzz.types.Position otMathGetConstant(harfbuzz.font.Font font, harfbuzz.types.OtMathConstant constant)Fetches the specified math constant. For most constants, the value returned is an #hbpositiont.fn
uint otMathGetGlyphAssembly(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.types.Direction direction, uint startOffset, ref harfbuzz.types.OtMathGlyphPart[] parts, out harfbuzz.types.Position italicsCorrection)Fetches the GlyphAssembly for the specified font, glyph index, and direction. Returned are a list of #hbotmathglyphpart_t glyph parts that can be used to draw the glyph and an italics-correction va...fn
harfbuzz.types.Position otMathGetGlyphItalicsCorrection(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph)Fetches an italics-correction value (if one exists) for the specified glyph index.fn
harfbuzz.types.Position otMathGetGlyphKerning(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.types.OtMathKern kern, harfbuzz.types.Position correctionHeight)Fetches the math kerning (cut-ins) value for the specified font, glyph index, and kern.fn
uint otMathGetGlyphKernings(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.types.OtMathKern kern, uint startOffset, ref harfbuzz.types.OtMathKernEntry[] kernEntries)Fetches the raw MathKern (cut-in) data for the specified font, glyph index, and kern. The corresponding list of kern values and correction heights is returned as a list of #hbotmathkernentry_t stru...fn
harfbuzz.types.Position otMathGetGlyphTopAccentAttachment(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph)Fetches a top-accent-attachment value (if one exists) for the specified glyph index.fn
uint otMathGetGlyphVariants(harfbuzz.font.Font font, harfbuzz.types.Codepoint glyph, harfbuzz.types.Direction direction, uint startOffset, ref harfbuzz.types.OtMathGlyphVariant[] variants)Fetches the MathGlyphConstruction for the specified font, glyph index, and direction. The corresponding list of size variants is returned as a list of #hbotmathglyphvariant_t structs.fn
harfbuzz.types.Position otMathGetMinConnectorOverlap(harfbuzz.font.Font font, harfbuzz.types.Direction direction)Fetches the MathVariants table for the specified font and returns the minimum overlap of connecting glyphs that are required to draw a glyph assembly in the specified direction.fn
harfbuzz.types.Bool otMathHasData(harfbuzz.face.Face face)Tests whether a face has a `MATH` table.fn
harfbuzz.types.Bool otMathIsGlyphExtendedShape(harfbuzz.face.Face face, harfbuzz.types.Codepoint glyph)Tests whether the given glyph index is an extended shape in the face.fn
harfbuzz.blob.Blob otMetaReferenceEntry(harfbuzz.face.Face face, harfbuzz.types.OtMetaTag metaTag)It fetches metadata entry of a given tag from a font.fn
harfbuzz.types.Bool otMetricsGetPosition(harfbuzz.font.Font font, harfbuzz.types.OtMetricsTag metricsTag, out harfbuzz.types.Position position)Fetches metrics value corresponding to metrics_tag from font.fn
void otMetricsGetPositionWithFallback(harfbuzz.font.Font font, harfbuzz.types.OtMetricsTag metricsTag, out harfbuzz.types.Position position)Fetches metrics value corresponding to metrics_tag from font, and synthesizes a value if it the value is missing in the font.fn
float otMetricsGetVariation(harfbuzz.font.Font font, harfbuzz.types.OtMetricsTag metricsTag)Fetches metrics value corresponding to metrics_tag from font with the current font variation settings applied.fn
harfbuzz.types.Position otMetricsGetXVariation(harfbuzz.font.Font font, harfbuzz.types.OtMetricsTag metricsTag)Fetches horizontal metrics value corresponding to metrics_tag from font with the current font variation settings applied.fn
harfbuzz.types.Position otMetricsGetYVariation(harfbuzz.font.Font font, harfbuzz.types.OtMetricsTag metricsTag)Fetches vertical metrics value corresponding to metrics_tag from font with the current font variation settings applied.fn
harfbuzz.types.Tag otTagFromLanguage(harfbuzz.types.Language language)Converts an #hblanguaget to an #hbtagt.fn
harfbuzz.types.Language otTagToLanguage(harfbuzz.types.Tag tag)Converts a language tag to an #hblanguaget.fn
harfbuzz.types.Script otTagToScript(harfbuzz.types.Tag tag)Converts a script tag to an #hbscriptt.fn
void otTagsFromScript(harfbuzz.types.Script script, out harfbuzz.types.Tag scriptTag1, out harfbuzz.types.Tag scriptTag2)Converts an #hbscriptt to script tags.fn
void otTagsFromScriptAndLanguage(harfbuzz.types.Script script, harfbuzz.types.Language language, ref uint scriptCount, out harfbuzz.types.Tag scriptTags, ref uint languageCount, out harfbuzz.types.Tag languageTags)Converts an #hbscriptt and an #hblanguaget to script and language tags.fn
void otTagsToScriptAndLanguage(harfbuzz.types.Tag scriptTag, harfbuzz.types.Tag languageTag, out harfbuzz.types.Script script, out harfbuzz.types.Language language)Converts a script tag and a language tag to an #hbscriptt and an #hblanguaget.fn
harfbuzz.types.Bool otVarFindAxisInfo(harfbuzz.face.Face face, harfbuzz.types.Tag axisTag, out harfbuzz.types.OtVarAxisInfo axisInfo)Fetches the variation-axis information corresponding to the specified axis tag in the specified face.fn
uint otVarGetAxes(harfbuzz.face.Face face, uint startOffset, ref harfbuzz.types.OtVarAxis[] axesArray)Fetches a list of all variation axes in the specified face. The list returned will begin at the offset provided.fn
uint otVarGetAxisCount(harfbuzz.face.Face face)Fetches the number of OpenType variation axes included in the face.fn
uint otVarGetAxisInfos(harfbuzz.face.Face face, uint startOffset, ref harfbuzz.types.OtVarAxisInfo[] axesArray)Fetches a list of all variation axes in the specified face. The list returned will begin at the offset provided.fn
uint otVarGetNamedInstanceCount(harfbuzz.face.Face face)Fetches the number of named instances included in the face.fn
harfbuzz.types.Bool otVarHasData(harfbuzz.face.Face face)Tests whether a face includes any OpenType variation data in the `fvar` table.fn
uint otVarNamedInstanceGetDesignCoords(harfbuzz.face.Face face, uint instanceIndex, ref float[] coords)Fetches the design-space coordinates corresponding to the given named instance in the face.fn
harfbuzz.types.OtNameId otVarNamedInstanceGetPostscriptNameId(harfbuzz.face.Face face, uint instanceIndex)Fetches the `name` table Name ID that provides display names for the "PostScript name" defined for the given named instance in the face.fn
harfbuzz.types.OtNameId otVarNamedInstanceGetSubfamilyNameId(harfbuzz.face.Face face, uint instanceIndex)Fetches the `name` table Name ID that provides display names for the "Subfamily name" defined for the given named instance in the face.fn
void otVarNormalizeCoords(harfbuzz.face.Face face, float[] designCoords, out int normalizedCoords)Normalizes the given design-space coordinates. The minimum and maximum values for the axis are mapped to the interval [-1,1], with the default axis value mapped to 0.fn
void paintColor(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.types.Bool isForeground, harfbuzz.types.Color color)Perform a "color" paint operation.fn
harfbuzz.types.Bool paintColorGlyph(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.types.Codepoint glyph, harfbuzz.font.Font font)Perform a "color-glyph" paint operation.fn
harfbuzz.types.Bool paintCustomPaletteColor(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, uint colorIndex, out harfbuzz.types.Color color)Gets the custom palette color for color_index.fn
harfbuzz.paint_funcs.PaintFuncs paintFuncsCreate()Creates a new #hbpaintfuncs_t structure of paint functions.fn
harfbuzz.paint_funcs.PaintFuncs paintFuncsGetEmpty()Fetches the singleton empty paint-functions structure. Returns: The empty paint-functions structurefn
harfbuzz.types.Bool paintFuncsIsImmutable(harfbuzz.paint_funcs.PaintFuncs funcs)Tests whether a paint-functions structure is immutable.fn
void paintFuncsMakeImmutable(harfbuzz.paint_funcs.PaintFuncs funcs)Makes a paint-functions structure immutable.fn
void paintFuncsSetColorFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintColorFunc func)Sets the paint-color callback on the paint functions struct.fn
void paintFuncsSetColorGlyphFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintColorGlyphFunc func)Sets the color-glyph callback on the paint functions struct.fn
void paintFuncsSetCustomPaletteColorFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintCustomPaletteColorFunc func)Sets the custom-palette-color callback on the paint functions struct.fn
void paintFuncsSetImageFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintImageFunc func)Sets the paint-image callback on the paint functions struct.fn
void paintFuncsSetLinearGradientFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintLinearGradientFunc func)Sets the linear-gradient callback on the paint functions struct.fn
void paintFuncsSetPopClipFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintPopClipFunc func)Sets the pop-clip callback on the paint functions struct.fn
void paintFuncsSetPopGroupFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintPopGroupFunc func)Sets the pop-group callback on the paint functions struct.fn
void paintFuncsSetPopTransformFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintPopTransformFunc func)Sets the pop-transform callback on the paint functions struct.fn
void paintFuncsSetPushClipGlyphFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintPushClipGlyphFunc func)Sets the push-clip-glyph callback on the paint functions struct.fn
void paintFuncsSetPushClipRectangleFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintPushClipRectangleFunc func)Sets the push-clip-rect callback on the paint functions struct.fn
void paintFuncsSetPushGroupFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintPushGroupFunc func)Sets the push-group callback on the paint functions struct.fn
void paintFuncsSetPushTransformFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintPushTransformFunc func)Sets the push-transform callback on the paint functions struct.fn
void paintFuncsSetRadialGradientFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintRadialGradientFunc func)Sets the radial-gradient callback on the paint functions struct.fn
void paintFuncsSetSweepGradientFunc(harfbuzz.paint_funcs.PaintFuncs funcs, harfbuzz.types.PaintSweepGradientFunc func)Sets the sweep-gradient callback on the paint functions struct.fn
void paintImage(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.blob.Blob image, uint width, uint height, harfbuzz.types.Tag format, float slant, harfbuzz.types.GlyphExtents extents)Perform a "image" paint operation.fn
void paintLinearGradient(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.color_line.ColorLine colorLine, float x0, float y0, float x1, float y1, float x2, float y2)Perform a "linear-gradient" paint operation.fn
void paintPopClip(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData = null)Perform a "pop-clip" paint operation.fn
void paintPopGroup(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.types.PaintCompositeMode mode)Perform a "pop-group" paint operation.fn
void paintPopTransform(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData = null)Perform a "pop-transform" paint operation.fn
void paintPushClipGlyph(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.types.Codepoint glyph, harfbuzz.font.Font font)Perform a "push-clip-glyph" paint operation.fn
void paintPushClipRectangle(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, float xmin, float ymin, float xmax, float ymax)Perform a "push-clip-rect" paint operation.fn
void paintPushGroup(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData = null)Perform a "push-group" paint operation.fn
void paintPushTransform(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, float xx, float yx, float xy, float yy, float dx, float dy)Perform a "push-transform" paint operation.fn
void paintRadialGradient(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.color_line.ColorLine colorLine, float x0, float y0, float r0, float x1, float y1, float r1)Perform a "radial-gradient" paint operation.fn
void paintSweepGradient(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.color_line.ColorLine colorLine, float x0, float y0, float startAngle, float endAngle)Perform a "sweep-gradient" paint operation.fn
harfbuzz.types.Script scriptFromIso15924Tag(harfbuzz.types.Tag tag)Converts an ISO 15924 script tag to a corresponding #hbscriptt.fn
harfbuzz.types.Script scriptFromString(ubyte[] str)Converts a string str representing an ISO 15924 script tag to a corresponding #hbscriptt. Shorthand for [harfbuzz.global.tagFromString] then [harfbuzz.global.scriptFromIso15924Tag].fn
harfbuzz.types.Direction scriptGetHorizontalDirection(harfbuzz.types.Script script)Fetches the #hbdirectiont of a script when it is set horizontally. All right-to-left scripts will return #HBDIRECTIONRTL. All left-to-right scripts will return #HBDIRECTIONLTR. Scripts that can be...fn
harfbuzz.types.Tag scriptToIso15924Tag(harfbuzz.types.Script script)Converts an #hbscriptt to a corresponding ISO 15924 script tag.fn
harfbuzz.types.Bool segmentPropertiesEqual(harfbuzz.segment_properties.SegmentProperties a, harfbuzz.segment_properties.SegmentProperties b)Checks the equality of two #hbsegmentproperties_t's.fn
uint segmentPropertiesHash(harfbuzz.segment_properties.SegmentProperties p)Creates a hash representing `p`.fn
void segmentPropertiesOverlay(harfbuzz.segment_properties.SegmentProperties p, harfbuzz.segment_properties.SegmentProperties src)Fills in missing fields of `p` from src in a considered manner.fn
void setAddRange(harfbuzz.set.Set set, harfbuzz.types.Codepoint first, harfbuzz.types.Codepoint last)Adds all of the elements from first to last (inclusive) to set.fn
void setAddSortedArray(harfbuzz.set.Set set, harfbuzz.types.Codepoint[] sortedCodepoints)Adds numcodepoints codepoints to a set at once. The codepoints array must be in increasing order, with size at least numcodepoints.fn
harfbuzz.types.Bool setAllocationSuccessful(harfbuzz.set.Set set)Tests whether memory allocation for a set was successful.fn
void setDelRange(harfbuzz.set.Set set, harfbuzz.types.Codepoint first, harfbuzz.types.Codepoint last)Removes all of the elements from first to last (inclusive) from set.fn
harfbuzz.types.Bool setHas(harfbuzz.set.Set set, harfbuzz.types.Codepoint codepoint)Tests whether codepoint belongs to set.fn
void setIntersect(harfbuzz.set.Set set, harfbuzz.set.Set other)Makes set the intersection of set and other.fn
harfbuzz.types.Bool setIsEmpty(harfbuzz.set.Set set)Tests whether a set is empty (contains no elements).fn
harfbuzz.types.Bool setIsEqual(harfbuzz.set.Set set, harfbuzz.set.Set other)Tests whether set and other are equal (contain the same elements).fn
harfbuzz.types.Bool setIsSubset(harfbuzz.set.Set set, harfbuzz.set.Set largerSet)Tests whether set is a subset of larger_set.fn
harfbuzz.types.Bool setNext(harfbuzz.set.Set set, ref harfbuzz.types.Codepoint codepoint)Fetches the next element in set that is greater than current value of codepoint.fn
uint setNextMany(harfbuzz.set.Set set, harfbuzz.types.Codepoint codepoint, harfbuzz.types.Codepoint[] out_)Finds the next element in set that is greater than codepoint. Writes out codepoints to out, until either the set runs out of elements, or size codepoints are written, whichever comes first.fn
harfbuzz.types.Bool setNextRange(harfbuzz.set.Set set, out harfbuzz.types.Codepoint first, ref harfbuzz.types.Codepoint last)Fetches the next consecutive range of elements in set that are greater than current value of last.fn
harfbuzz.types.Bool setPrevious(harfbuzz.set.Set set, ref harfbuzz.types.Codepoint codepoint)Fetches the previous element in set that is lower than current value of codepoint.fn
harfbuzz.types.Bool setPreviousRange(harfbuzz.set.Set set, ref harfbuzz.types.Codepoint first, out harfbuzz.types.Codepoint last)Fetches the previous consecutive range of elements in set that are greater than current value of last.fn
void setSet(harfbuzz.set.Set set, harfbuzz.set.Set other)Makes the contents of set equal to the contents of other.fn
void setSubtract(harfbuzz.set.Set set, harfbuzz.set.Set other)Subtracts the contents of other from set.fn
void setSymmetricDifference(harfbuzz.set.Set set, harfbuzz.set.Set other)Makes set the symmetric difference of set and other.fn
void shape(harfbuzz.font.Font font, harfbuzz.buffer.Buffer buffer, harfbuzz.feature.Feature[] features = null)Shapes buffer using font turning its Unicode characters content to positioned glyphs. If features is not `NULL`, it will be used to control the features applied during shaping. If two features have...fn
harfbuzz.types.Bool shapeFull(harfbuzz.font.Font font, harfbuzz.buffer.Buffer buffer, harfbuzz.feature.Feature[] features = null, string[] shaperList = null)See [harfbuzz.global.shape] for details. If shaper_list is not `NULL`, the specified shapers will be used in the given order, otherwise the default shapers list will be used.fn
harfbuzz.types.Bool shapeJustify(harfbuzz.font.Font font, harfbuzz.buffer.Buffer buffer, harfbuzz.feature.Feature[] features, string[] shaperList, float minTargetAdvance, float maxTargetAdvance, ref float advance, out harfbuzz.types.Tag varTag, out float varValue)See [harfbuzz.global.shapeFull] for basic details. If shaper_list is not `NULL`, the specified shapers will be used in the given order, otherwise the default shapers list will be used.fn
string[] shapeListShapers()Retrieves the list of shapers supported by HarfBuzz. Returns: an array of constant stringsfn
harfbuzz.shape_plan.ShapePlan shapePlanCreate(harfbuzz.face.Face face, harfbuzz.segment_properties.SegmentProperties props, harfbuzz.feature.Feature[] userFeatures, string[] shaperList)Constructs a shaping plan for a combination of face, userfeatures, props, and shaperlist.fn
harfbuzz.shape_plan.ShapePlan shapePlanCreate2(harfbuzz.face.Face face, harfbuzz.segment_properties.SegmentProperties props, harfbuzz.feature.Feature[] userFeatures, int[] coords, string[] shaperList)The variable-font version of #hbshapeplancreate. Constructs a shaping plan for a combination of face, userfeatures, props, and shaper_list, plus the variation-space coordinates coords.fn
harfbuzz.shape_plan.ShapePlan shapePlanCreateCached(harfbuzz.face.Face face, harfbuzz.segment_properties.SegmentProperties props, harfbuzz.feature.Feature[] userFeatures, string[] shaperList)Creates a cached shaping plan suitable for reuse, for a combination of face, userfeatures, props, and shaperlist.fn
harfbuzz.shape_plan.ShapePlan shapePlanCreateCached2(harfbuzz.face.Face face, harfbuzz.segment_properties.SegmentProperties props, harfbuzz.feature.Feature[] userFeatures, int[] coords, string[] shaperList)The variable-font version of #hbshapeplancreatecached. Creates a cached shaping plan suitable for reuse, for a combination of face, userfeatures, props, and shaperlist, plus the variation-space coo...fn
harfbuzz.types.Bool shapePlanExecute(harfbuzz.shape_plan.ShapePlan shapePlan, harfbuzz.font.Font font, harfbuzz.buffer.Buffer buffer, harfbuzz.feature.Feature[] features)Executes the given shaping plan on the specified buffer, using the given font and features.fn
harfbuzz.shape_plan.ShapePlan shapePlanGetEmpty()Fetches the singleton empty shaping plan. Returns: The empty shaping planfn
string shapePlanGetShaper(harfbuzz.shape_plan.ShapePlan shapePlan)Fetches the shaper from a given shaping plan.fn
float styleGetValue(harfbuzz.font.Font font, harfbuzz.types.StyleTag styleTag)Searches variation axes of a #hbfontt object for a specific axis first, if not set, then tries to get default style values from different tables of the font.fn
harfbuzz.types.Tag tagFromString(ubyte[] str)Converts a string into an #hbtagt. Valid tags are four characters. Shorter input strings will be padded with spaces. Longer input strings will be truncated.fn
harfbuzz.types.UnicodeCombiningClass unicodeCombiningClass(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.Codepoint unicode)Retrieves the Canonical Combining Class (ccc) property of code point unicode.fn
harfbuzz.types.Bool unicodeCompose(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.Codepoint a, harfbuzz.types.Codepoint b, out harfbuzz.types.Codepoint ab)Fetches the composition of a sequence of two Unicode code points.fn
harfbuzz.types.Bool unicodeDecompose(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.Codepoint ab, out harfbuzz.types.Codepoint a, out harfbuzz.types.Codepoint b)Fetches the decomposition of a Unicode code point.fn
uint unicodeDecomposeCompatibility(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.Codepoint u, out harfbuzz.types.Codepoint decomposed)Fetches the compatibility decomposition of a Unicode code point. Deprecated.fn
uint unicodeEastasianWidth(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.Codepoint unicode)Don't use. Not used by HarfBuzz.fn
harfbuzz.unicode_funcs.UnicodeFuncs unicodeFuncsCreate(harfbuzz.unicode_funcs.UnicodeFuncs parent = null)Creates a new #hbunicodefuncs_t structure of Unicode functions.fn
harfbuzz.unicode_funcs.UnicodeFuncs unicodeFuncsGetDefault()Fetches a pointer to the default Unicode-functions structure that is used when no functions are explicitly set on #hbbuffert. Returns: a pointer to the #hbunicodefuncs_t Unicode-functions structurefn
harfbuzz.unicode_funcs.UnicodeFuncs unicodeFuncsGetEmpty()Fetches the singleton empty Unicode-functions structure. Returns: The empty Unicode-functions structurefn
harfbuzz.unicode_funcs.UnicodeFuncs unicodeFuncsGetParent(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs)Fetches the parent of the Unicode-functions structure ufuncs.fn
harfbuzz.types.Bool unicodeFuncsIsImmutable(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs)Tests whether the specified Unicode-functions structure is immutable.fn
void unicodeFuncsMakeImmutable(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs)Makes the specified Unicode-functions structure immutable.fn
void unicodeFuncsSetCombiningClassFunc(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.UnicodeCombiningClassFunc func)Sets the implementation function for #hbunicodecombiningclassfunc_t.fn
void unicodeFuncsSetComposeFunc(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.UnicodeComposeFunc func)Sets the implementation function for #hbunicodecomposefunct.fn
void unicodeFuncsSetDecomposeFunc(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.UnicodeDecomposeFunc func)Sets the implementation function for #hbunicodedecomposefunct.fn
void unicodeFuncsSetEastasianWidthFunc(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.UnicodeEastasianWidthFunc func)Sets the implementation function for #hbunicodeeastasianwidthfunc_t.fn
void unicodeFuncsSetGeneralCategoryFunc(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.UnicodeGeneralCategoryFunc func)Sets the implementation function for #hbunicodegeneralcategoryfunc_t.fn
void unicodeFuncsSetMirroringFunc(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.UnicodeMirroringFunc func)Sets the implementation function for #hbunicodemirroringfunct.fn
void unicodeFuncsSetScriptFunc(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.UnicodeScriptFunc func)Sets the implementation function for #hbunicodescriptfunct.fn
harfbuzz.types.UnicodeGeneralCategory unicodeGeneralCategory(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.Codepoint unicode)Retrieves the General Category (gc) property of code point unicode.fn
harfbuzz.types.Codepoint unicodeMirroring(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.Codepoint unicode)Retrieves the Bi-directional Mirroring Glyph code point defined for code point unicode.fn
harfbuzz.types.Script unicodeScript(harfbuzz.unicode_funcs.UnicodeFuncs ufuncs, harfbuzz.types.Codepoint unicode)Retrieves the #hbscriptt script to which code point unicode belongs.fn
harfbuzz.types.Bool variationFromString(ubyte[] str, out harfbuzz.variation.Variation variation)Parses a string into a #hbvariationt.