Skip to content

Instantly share code, notes, and snippets.

@MihailJP
Created July 13, 2024 02:17
Show Gist options
  • Save MihailJP/c11d2f38a87b66183ee786f3c4bef9a9 to your computer and use it in GitHub Desktop.
Save MihailJP/c11d2f38a87b66183ee786f3c4bef9a9 to your computer and use it in GitHub Desktop.
Kate syntax highlighting definition file for FontForge legacy script
<?xml version="1.0" encoding="UTF-8"?>
<language name="FontForge script" section="Scripts" version="1.00" extensions="*.pe" kateversion="3.9">
<highlighting>
<list name="block-opening keywords">
<item> if </item>
<item> while </item>
<item> foreach </item>
</list>
<list name="block-separating keywords">
<item> elseif </item>
<item> else </item>
</list>
<list name="block-closing keywords">
<item> endif </item>
<item> endloop </item>
</list>
<list name="other keywords">
<item> break </item>
<item> return </item>
<item> shift </item>
</list>
<list name="built-in variables">
<item> $argc </item>
<item> $argv </item>
<item> $curfont </item>
<item> $firstfont </item>
<item> $nextfont </item>
<item> $fontchanged </item>
<item> $fontname </item>
<item> $familyname </item>
<item> $fullname </item>
<item> $fondname </item>
<item> $weight </item>
<item> $copyright </item>
<item> $filename </item>
<item> $fontversion </item>
<item> $iscid </item>
<item> $cidfontname </item>
<item> $cidfamilyname </item>
<item> $cidfullname </item>
<item> $cidweight </item>
<item> $cidcopyright </item>
<item> $mmcount </item>
<item> $italicangle </item>
<item> $loadState </item>
<item> $privateState </item>
<item> $curcid </item>
<item> $firstcid </item>
<item> $nextcid </item>
<item> $macstyle </item>
<item> $bitmaps </item>
<item> $order </item>
<item> $em </item>
<item> $ascent </item>
<item> $descent </item>
<item> $selection </item>
<item> $panose </item>
<item> $trace </item>
<item> $version </item>
<item> $haspython </item>
</list>
<list name="built-in procedures">
<item> Array </item>
<item> AskUser </item>
<item> ATan2 </item>
<item> Ceil </item>
<item> Chr </item>
<item> Cos </item>
<item> Floor </item>
<item> Error </item>
<item> Exp </item>
<item> DefaultOtherSubrs </item>
<item> FileAccess </item>
<item> FontsInFile </item>
<item> GetEnv </item>
<item> GetPref </item>
<item> Int </item>
<item> IsAlNum </item>
<item> IsAlpha </item>
<item> IsDigit </item>
<item> IsFinite </item>
<item> IsHexDigit </item>
<item> IsLower </item>
<item> IsNan </item>
<item> IsSpace </item>
<item> IsUpper </item>
<item> LoadEncodingFile </item>
<item> LoadNamelist </item>
<item> LoadNamelistDir </item>
<item> LoadPrefs </item>
<item> LoadStringFromFile </item>
<item> Log </item>
<item> NameFromUnicode </item>
<item> New </item>
<item> Open </item>
<item> Ord </item>
<item> PostNotice </item>
<item> Pow </item>
<item> PreloadCidmap </item>
<item> Print </item>
<item> Rand </item>
<item> ReadOtherSubrsFile </item>
<item> Real </item>
<item> Round </item>
<item> SavePrefs </item>
<item> SetPref </item>
<item> SizeOf </item>
<item> Sin </item>
<item> Sqrt </item>
<item> Strcasestr </item>
<item> Strcasecmp </item>
<item> Strftime </item>
<item> StrJoin </item>
<item> Strlen </item>
<item> Strrstr </item>
<item> Strskipint </item>
<item> StrSplit </item>
<item> Strstr </item>
<item> Strsub </item>
<item> Strtod </item>
<item> Strtol </item>
<item> Tan </item>
<item> ToLower </item>
<item> ToMirror </item>
<item> ToString </item>
<item> ToUpper </item>
<item> TypeOf </item>
<item> UCodePoint </item>
<item> UnicodeFromName </item>
<item> Ucs4 </item>
<item> Utf8 </item>
<item> WriteStringToFile </item>
<item> Close </item>
<item> Export </item>
<item> FontsInFile </item>
<item> Generate </item>
<item> GenerateFamily </item>
<item> Import </item>
<item> MergeKern </item>
<item> MergeFeature </item>
<item> New </item>
<item> Open </item>
<item> PrintFont </item>
<item> PrintSetup </item>
<item> Quit </item>
<item> Revert </item>
<item> RevertToBackup </item>
<item> Save </item>
<item> FileAccess </item>
<item> FontImage </item>
<item> LoadStringFromFile </item>
<item> WriteStringToFile </item>
<item> Clear </item>
<item> ClearBackground </item>
<item> Copy </item>
<item> CopyAnchors </item>
<item> CopyFgToBg </item>
<item> CopyLBearing </item>
<item> CopyRBearing </item>
<item> CopyReference </item>
<item> CopyUnlinked </item>
<item> CopyVWidth </item>
<item> CopyWidth </item>
<item> Cut </item>
<item> Join </item>
<item> Paste </item>
<item> Paste </item>
<item> PasteWithOffset </item>
<item> ReplaceWithReference </item>
<item> SameGlyphAs </item>
<item> UnlinkReference </item>
<item> Select </item>
<item> SelectAll </item>
<item> SelectAllInstancesOf </item>
<item> SelectBitmap </item>
<item> SelectByPosSub </item>
<item> SelectChanged </item>
<item> SelectFewer </item>
<item> SelectFewerSingletons </item>
<item> SelectGlyphsBoth </item>
<item> SelectGlyphsReferences </item>
<item> SelectGlyphsSplines </item>
<item> SelectHintingNeeded </item>
<item> SelectIf </item>
<item> SelectInvert </item>
<item> SelectMore </item>
<item> SelectMoreIf </item>
<item> SelectMoreSingletons </item>
<item> SelectMoreSingletonsIf </item>
<item> SelectNone </item>
<item> SelectSingletons </item>
<item> SelectSingletonsIf </item>
<item> SelectWorthOutputting </item>
<item> AddAccent </item>
<item> AddExtrema </item>
<item> AddInflections </item>
<item> ApplySubstitution </item>
<item> AutoTrace </item>
<item> Balance </item>
<item> BitmapsAvail </item>
<item> BitmapsRegen </item>
<item> BuildAccented </item>
<item> BuildComposite </item>
<item> BuildDuplicate </item>
<item> CanonicalContours </item>
<item> CanonicalStart </item>
<item> ChangeWeight </item>
<item> CompareFonts </item>
<item> CompareGlyphs </item>
<item> CorrectDirection </item>
<item> DefaultRoundToGrid </item>
<item> DefaultUseMyMetrics </item>
<item> ExpandStroke </item>
<item> FindIntersections </item>
<item> Harmonize </item>
<item> HFlip </item>
<item> Inline </item>
<item> InterpolateFonts </item>
<item> Italic </item>
<item> MergeFonts </item>
<item> Move </item>
<item> MoveReference </item>
<item> NearlyHvCps </item>
<item> NearlyHvLines </item>
<item> NearlyLines </item>
<item> NonLinearTransform </item>
<item> Outline </item>
<item> OverlapIntersect </item>
<item> PositionReference </item>
<item> RemoveOverlap </item>
<item> Rotate </item>
<item> RoundToCluster </item>
<item> RoundToInt </item>
<item> Scale </item>
<item> ScaleToEm </item>
<item> Shadow </item>
<item> Simplify </item>
<item> Skew </item>
<item> SmallCaps </item>
<item> Transform </item>
<item> VFlip </item>
<item> Wireframe </item>
<item> AddSizeFeature </item>
<item> ChangePrivateEntry </item>
<item> ClearPrivateEntry </item>
<item> GetFontBoundingBox </item>
<item> GetMaxpValue </item>
<item> GetOS2Value </item>
<item> GetPrivateEntry </item>
<item> GetTeXParam </item>
<item> GetTTFName </item>
<item> HasPrivateEntry </item>
<item> ScaleToEm </item>
<item> SetFondName </item>
<item> SetFontHasVerticalMetrics </item>
<item> SetFontNames </item>
<item> SetFontOrder </item>
<item> SetGasp </item>
<item> SetItalicAngle </item>
<item> SetMacStyle </item>
<item> SetMaxpValue </item>
<item> SetOS2Value </item>
<item> SetPanose </item>
<item> SetTeXParams </item>
<item> SetTTFName </item>
<item> SetUniqueID </item>
<item> DrawsSomething </item>
<item> GetPosSub </item>
<item> GlyphInfo </item>
<item> SetGlyphColor </item>
<item> SetGlyphComment </item>
<item> SetGlyphChanged </item>
<item> SetGlyphClass </item>
<item> SetGlyphName </item>
<item> SetUnicodeValue </item>
<item> SetGlyphTeX </item>
<item> WorthOutputting </item>
<item> AddAnchorClass </item>
<item> AddAnchorPoint </item>
<item> AddLookup </item>
<item> AddLookupSubtable </item>
<item> AddPosSub </item>
<item> AddSizeFeature </item>
<item> ApplySubstitution </item>
<item> CheckForAnchorClass </item>
<item> GetAnchorPoints </item>
<item> GetLookupInfo </item>
<item> GetLookups </item>
<item> GetLookupSubtables </item>
<item> GetLookupOfSubtable </item>
<item> GetPosSub </item>
<item> GetSubtableOfAnchor </item>
<item> GenerateFeatureFile </item>
<item> HasPreservedTable </item>
<item> LoadTableFromFile </item>
<item> LookupStoreLigatureInAfm </item>
<item> LookupSetFeatureList </item>
<item> MergeLookups </item>
<item> MergeLookupSubtables </item>
<item> RemoveAnchorClass </item>
<item> RemoveLookup </item>
<item> RemoveLookupSubtable </item>
<item> RemovePosSub </item>
<item> RemovePreservedTable </item>
<item> SaveTableToFile </item>
<item> CharCnt </item>
<item> DetachGlyphs </item>
<item> DetachAndRemoveGlyphs </item>
<item> LoadEncodingFile </item>
<item> MultipleEncodingsToReferences </item>
<item> Reencode </item>
<item> RemoveDetachedGlyphs </item>
<item> RenameGlyphs </item>
<item> SameGlyphAs </item>
<item> SetCharCnt </item>
<item> AddDHint </item>
<item> AddHHint </item>
<item> AddInstrs </item>
<item> AddVHint </item>
<item> AutoCounter </item>
<item> AutoHint </item>
<item> AutoInstr </item>
<item> ChangePrivateEntry </item>
<item> ClearGlyphCounterMasks </item>
<item> ClearHints </item>
<item> ClearInstrs </item>
<item> ClearPrivateEntry </item>
<item> ClearTable </item>
<item> DontAutoHint </item>
<item> FindOrAddCvtIndex </item>
<item> GetCvtAt </item>
<item> GetPrivateEntry </item>
<item> HasPrivateEntry </item>
<item> ReplaceGlyphCounterMasks </item>
<item> ReplaceCvtAt </item>
<item> SetGlyphCounterMask </item>
<item> SubstitutionPoints </item>
<item> AutoKern </item>
<item> AutoWidth </item>
<item> CenterInWidth </item>
<item> SetKern </item>
<item> RemoveAllKerns </item>
<item> RemoveAllVKerns </item>
<item> SetLBearing </item>
<item> SetRBearing </item>
<item> SetVKern </item>
<item> SetVWidth </item>
<item> SetWidth </item>
<item> VKernFromHKern </item>
<item> MMAxisBounds </item>
<item> MMAxisNames </item>
<item> MMBlendToNewFont </item>
<item> MMChangeInstance </item>
<item> MMChangeWeight </item>
<item> MMInstanceNames </item>
<item> MMWeightedName </item>
<item> CIDChangeSubFont </item>
<item> CIDFlatten </item>
<item> CIDFlattenByCMap </item>
<item> CIDSetFontNames </item>
<item> ConvertToCID </item>
<item> ConvertByCMap </item>
<item> PreloadCidmap </item>
<item> AskUser </item>
<item> Error </item>
<item> PostNotice </item>
<item> Print </item>
<item> DefaultOtherSubrs </item>
<item> GetPref </item>
<item> LoadEncodingFile </item>
<item> LoadNamelist </item>
<item> LoadNamelistDir </item>
<item> LoadPrefs </item>
<item> ReadOtherSubrsFile </item>
<item> SavePrefs </item>
<item> SetPref </item>
<item> ATan2 </item>
<item> Ceil </item>
<item> Chr </item>
<item> Cos </item>
<item> Exp </item>
<item> Floor </item>
<item> Int </item>
<item> IsFinite </item>
<item> IsNan </item>
<item> Log </item>
<item> Ord </item>
<item> Pow </item>
<item> Rand </item>
<item> Real </item>
<item> Round </item>
<item> Sin </item>
<item> Sqrt </item>
<item> Strskipint </item>
<item> Strtod </item>
<item> Strtol </item>
<item> Tan </item>
<item> ToString </item>
<item> UCodePoint </item>
<item> NameFromUnicode </item>
<item> UCodePoint </item>
<item> UnicodeFromName </item>
<item> Ucs4 </item>
<item> Utf8 </item>
<item> Chr </item>
<item> GetEnv </item>
<item> NameFromUnicode </item>
<item> Ord </item>
<item> Strcasecmp </item>
<item> Strcasestr </item>
<item> Strftime </item>
<item> StrJoin </item>
<item> Strlen </item>
<item> Strrstr </item>
<item> Strskipint </item>
<item> StrSplit </item>
<item> Strstr </item>
<item> Strsub </item>
<item> Strtod </item>
<item> Strtol </item>
<item> ToString </item>
<item> UnicodeFromName </item>
<item> Ucs4 </item>
<item> Utf8 </item>
<item> IsAlNum </item>
<item> IsAlpha </item>
<item> IsDigit </item>
<item> IsHexDigit </item>
<item> IsLower </item>
<item> IsSpace </item>
<item> IsUpper </item>
<item> ToLower </item>
<item> ToMirror </item>
<item> ToUpper </item>
<item> Array </item>
<item> SizeOf </item>
<item> InFont </item>
<item> TypeOf </item>
<item> ClearGlyphCounterMasks </item>
<item> GlyphInfo </item>
<item> ReplaceGlyphCounterMasks </item>
<item> SetGlyphColor </item>
<item> SetGlyphComment </item>
<item> SetGlyphCounterMask </item>
<item> SetGlyphName </item>
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<keyword String="block-opening keywords" context="#stay" attribute="Keyword" beginRegion="block"/>
<keyword String="block-separating keywords" context="#stay" attribute="Keyword" endRegion="block" beginRegion="block"/>
<keyword String="block-closing keywords" context="#stay" attribute="Keyword" endRegion="block"/>
<keyword String="other keywords" context="#stay" attribute="Keyword"/>
<keyword String="built-in procedures" context="#stay" attribute="Built-in Procedure"/>
<keyword String="built-in variables" context="#stay" attribute="Built-in Variable"/>
<RegExpr String="\$\d+[[:alpha:]_]+\b" insensitive="true" attribute="Error" context="#stay"/>
<RegExpr String="\$\d+\b" attribute="Built-in Variable" context="#stay"/>
<RegExpr String="\$[[:alpha:]]\w*\b" insensitive="true" attribute="Preference Variable" context="#stay"/>
<RegExpr String="\$\w*\b" insensitive="true" attribute="Error" context="#stay"/>
<DetectChar attribute="String" context="string" char="&quot;"/>
<RegExpr attribute="Codepoint" String="0u[[:xdigit:]]+\b" insensitive="true" context="#stay"/>
<Float attribute="Float" context="#stay"/>
<HlCHex attribute="Hex" context="#stay"/>
<HlCOct attribute="Octal" context="#stay"/>
<Int attribute="Decimal" context="#stay"/>
<HlCChar attribute="Char" context="#stay"/>
<DetectChar attribute="Comment" context="inline-comment" char="#"/>
<Detect2Chars attribute="Comment" context="inline-comment" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="block-comment" char="/" char1="*" beginRegion="Comment"/>
</context>
<context name="string" attribute="String" lineEndContext="#pop">
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context name="inline-comment" attribute="Comment" lineEndContext="#pop">
<LineContinue attribute="Comment" context="#stay"/>
<DetectSpaces />
<DetectIdentifier />
</context>
<context name="block-comment" attribute="Comment" lineEndContext="#stay">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
<DetectIdentifier />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Built-in Variable" defStyleNum="dsKeyword" spellChecking="false" color="#009966" bold="true" italic="false" selColor="#99ffcc"/>
<itemData name="Preference Variable" defStyleNum="dsKeyword" spellChecking="false" color="#009966" bold="true" italic="true" selColor="#99ffcc"/>
<itemData name="Built-in Procedure" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Codepoint" defStyleNum="dsBaseN" spellChecking="false" italic="true"/>
<itemData name="Char" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment" italic="true"/>
<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#" />
<comment name="singleLine" start="//" />
<comment name="multiLine" start="/*" end="*/" region="Comment"/>
</comments>
<keywords casesensitive="true"/>
</general>
</language>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment