Covering the Avestan Script

Dear Glyphs,
Since Avestan Script, one of the most prominent Iranian writing systems for writing Middle-Persian text, was encoded in Unicode, that would be perfect if Glyphs could cover this script.
Thanks for your consideration!

We need help for that. Do we need positional shapes? Is it LTR or RTL? Any kinds of OT features needed?

Can you set up Avestan glyph data with EditGlyphData.app? It is available in Get Glyphs > Tools. Here is how: Roll your own glyph data | Glyphs

1 Like

Thanks for the reply. No, there is no positional shape. It is written from right to left like Arabic.
Please find all the information about this script through this link: Revised proposal to encode the Avestan script in the SMP of the UCS

A quick draft for your review

<glyph name="a-avst" category="Letter" sortName="avst0" script="avestan" unicode="10B00" production="u10B00" description="AVESTAN LETTER A" />
<glyph name="aa-avst" category="Letter" sortName="avst1" script="avestan" unicode="10B01" production="u10B01" description="AVESTAN LETTER AA" />
<glyph name="aan-avst" category="Letter" sortName="avst5" script="avestan" unicode="10B05" production="u10B05" description="AVESTAN LETTER AAN" />
<glyph name="aao-avst" category="Letter" sortName="avst3" script="avestan" unicode="10B03" production="u10B03" description="AVESTAN LETTER AAO" />
<glyph name="ae-avst" category="Letter" sortName="avst6" script="avestan" unicode="10B06" production="u10B06" description="AVESTAN LETTER AE" />
<glyph name="aee-avst" category="Letter" sortName="avst7" script="avestan" unicode="10B07" production="u10B07" description="AVESTAN LETTER AEE" />
<glyph name="an-avst" category="Letter" sortName="avst4" script="avestan" unicode="10B04" production="u10B04" description="AVESTAN LETTER AN" />
<glyph name="ao-avst" category="Letter" sortName="avst2" script="avestan" unicode="10B02" production="u10B02" description="AVESTAN LETTER AO" />
<glyph name="be-avst" category="Letter" sortName="avst32" script="avestan" unicode="10B20" production="u10B20" description="AVESTAN LETTER BE" />
<glyph name="bhe-avst" category="Letter" sortName="avst33" script="avestan" unicode="10B21" production="u10B21" description="AVESTAN LETTER BHE" />
<glyph name="ce-avst" category="Letter" sortName="avst23" script="avestan" unicode="10B17" production="u10B17" description="AVESTAN LETTER CE" />
<glyph name="de-avst" category="Letter" sortName="avst27" script="avestan" unicode="10B1B" production="u10B1B" description="AVESTAN LETTER DE" />
<glyph name="dhe-avst" category="Letter" sortName="avst28" script="avestan" unicode="10B1C" production="u10B1C" description="AVESTAN LETTER DHE" />
<glyph name="e-avst" category="Letter" sortName="avst8" script="avestan" unicode="10B08" production="u10B08" description="AVESTAN LETTER E" />
<glyph name="ee-avst" category="Letter" sortName="avst9" script="avestan" unicode="10B09" production="u10B09" description="AVESTAN LETTER EE" />
<glyph name="fe-avst" category="Letter" sortName="avst31" script="avestan" unicode="10B1F" production="u10B1F" description="AVESTAN LETTER FE" />
<glyph name="ge-avst" category="Letter" sortName="avst20" script="avestan" unicode="10B14" production="u10B14" description="AVESTAN LETTER GE" />
<glyph name="gge-avst" category="Letter" sortName="avst21" script="avestan" unicode="10B15" production="u10B15" description="AVESTAN LETTER GGE" />
<glyph name="ghe-avst" category="Letter" sortName="avst22" script="avestan" unicode="10B16" production="u10B16" description="AVESTAN LETTER GHE" />
<glyph name="he-avst" category="Letter" sortName="avst53" script="avestan" unicode="10B35" production="u10B35" description="AVESTAN LETTER HE" />
<glyph name="hme-avst" category="Letter" sortName="avst41" script="avestan" unicode="10B29" production="u10B29" description="AVESTAN LETTER HME" />
<glyph name="i-avst" category="Letter" sortName="avst12" script="avestan" unicode="10B0C" production="u10B0C" description="AVESTAN LETTER I" />
<glyph name="ii-avst" category="Letter" sortName="avst13" script="avestan" unicode="10B0D" production="u10B0D" description="AVESTAN LETTER II" />
<glyph name="je-avst" category="Letter" sortName="avst24" script="avestan" unicode="10B18" production="u10B18" description="AVESTAN LETTER JE" />
<glyph name="ke-avst" category="Letter" sortName="avst16" script="avestan" unicode="10B10" production="u10B10" description="AVESTAN LETTER KE" />
<glyph name="le-avst" category="Letter" sortName="avst46" script="avestan" unicode="10B2E" production="u10B2E" description="AVESTAN LETTER LE" />
<glyph name="me-avst" category="Letter" sortName="avst40" script="avestan" unicode="10B28" production="u10B28" description="AVESTAN LETTER ME" />
<glyph name="ne-avst" category="Letter" sortName="avst37" script="avestan" unicode="10B25" production="u10B25" description="AVESTAN LETTER NE" />
<glyph name="nge-avst" category="Letter" sortName="avst34" script="avestan" unicode="10B22" production="u10B22" description="AVESTAN LETTER NGE" />
<glyph name="ngve-avst" category="Letter" sortName="avst36" script="avestan" unicode="10B24" production="u10B24" description="AVESTAN LETTER NGVE" />
<glyph name="ngye-avst" category="Letter" sortName="avst35" script="avestan" unicode="10B23" production="u10B23" description="AVESTAN LETTER NGYE" />
<glyph name="nne-avst" category="Letter" sortName="avst39" script="avestan" unicode="10B27" production="u10B27" description="AVESTAN LETTER NNE" />
<glyph name="nye-avst" category="Letter" sortName="avst38" script="avestan" unicode="10B26" production="u10B26" description="AVESTAN LETTER NYE" />
<glyph name="o-avst" category="Letter" sortName="avst10" script="avestan" unicode="10B0A" production="u10B0A" description="AVESTAN LETTER O" />
<glyph name="oo-avst" category="Letter" sortName="avst11" script="avestan" unicode="10B0B" production="u10B0B" description="AVESTAN LETTER OO" />
<glyph name="pe-avst" category="Letter" sortName="avst30" script="avestan" unicode="10B1E" production="u10B1E" description="AVESTAN LETTER PE" />
<glyph name="re-avst" category="Letter" sortName="avst45" script="avestan" unicode="10B2D" production="u10B2D" description="AVESTAN LETTER RE" />
<glyph name="se-avst" category="Letter" sortName="avst47" script="avestan" unicode="10B2F" production="u10B2F" description="AVESTAN LETTER SE" />
<glyph name="she-avst" category="Letter" sortName="avst49" script="avestan" unicode="10B31" production="u10B31" description="AVESTAN LETTER SHE" />
<glyph name="shye-avst" category="Letter" sortName="avst51" script="avestan" unicode="10B33" production="u10B33" description="AVESTAN LETTER SHYE" />
<glyph name="sshe-avst" category="Letter" sortName="avst52" script="avestan" unicode="10B34" production="u10B34" description="AVESTAN LETTER SSHE" />
<glyph name="te-avst" category="Letter" sortName="avst25" script="avestan" unicode="10B19" production="u10B19" description="AVESTAN LETTER TE" />
<glyph name="the-avst" category="Letter" sortName="avst26" script="avestan" unicode="10B1A" production="u10B1A" description="AVESTAN LETTER THE" />
<glyph name="tte-avst" category="Letter" sortName="avst29" script="avestan" unicode="10B1D" production="u10B1D" description="AVESTAN LETTER TTE" />
<glyph name="u-avst" category="Letter" sortName="avst14" script="avestan" unicode="10B0E" production="u10B0E" description="AVESTAN LETTER U" />
<glyph name="uu-avst" category="Letter" sortName="avst15" script="avestan" unicode="10B0F" production="u10B0F" description="AVESTAN LETTER UU" />
<glyph name="ve-avst" category="Letter" sortName="avst44" script="avestan" unicode="10B2C" production="u10B2C" description="AVESTAN LETTER VE" />
<glyph name="xe-avst" category="Letter" sortName="avst17" script="avestan" unicode="10B11" production="u10B11" description="AVESTAN LETTER XE" />
<glyph name="xve-avst" category="Letter" sortName="avst19" script="avestan" unicode="10B13" production="u10B13" description="AVESTAN LETTER XVE" />
<glyph name="xye-avst" category="Letter" sortName="avst18" script="avestan" unicode="10B12" production="u10B12" description="AVESTAN LETTER XYE" />
<glyph name="ye-avst" category="Letter" sortName="avst43" script="avestan" unicode="10B2B" production="u10B2B" description="AVESTAN LETTER YE" />
<glyph name="yye-avst" category="Letter" sortName="avst42" script="avestan" unicode="10B2A" production="u10B2A" description="AVESTAN LETTER YYE" />
<glyph name="ze-avst" category="Letter" sortName="avst48" script="avestan" unicode="10B30" production="u10B30" description="AVESTAN LETTER ZE" />
<glyph name="zhe-avst" category="Letter" sortName="avst50" script="avestan" unicode="10B32" production="u10B32" description="AVESTAN LETTER ZHE" />
<glyph name="abbreviation-avst" category="Punctuation" sortName="avst54" script="avestan" unicode="10B39" production="u10B39" description="AVESTAN ABBREVIATION MARK" />
<glyph name="largeDotOverTwoDots-avst" category="Punctuation" sortName="avst58" script="avestan" unicode="10B3D" production="u10B3D" description="LARGE ONE DOT OVER TWO DOTS PUNCTUATION" />
<glyph name="largeOneRingOverTwoRings-avst" category="Punctuation" sortName="avst60" script="avestan" unicode="10B3F" production="u10B3F" description="LARGE ONE RING OVER TWO RINGS PUNCTUATION" />
<glyph name="largeTwoDotsOverOneDot-avst" category="Punctuation" sortName="avst57" script="avestan" unicode="10B3C" production="u10B3C" description="LARGE TWO DOTS OVER ONE DOT PUNCTUATION" />
<glyph name="largeTwoRingOverOneRing-avst" category="Punctuation" sortName="avst59" script="avestan" unicode="10B3E" production="u10B3E" description="LARGE TWO RINGS OVER ONE RING PUNCTUATION" />
<glyph name="smallTwoDotsOverOneDot-avst" category="Punctuation" sortName="avst56" script="avestan" unicode="10B3B" production="u10B3B" description="SMALL TWO DOTS OVER ONE DOT PUNCTUATION" />
<glyph name="tinyTwoDotsOverOneDot-avst" category="Punctuation" sortName="avst55" script="avestan" unicode="10B3A" production="u10B3A" description="TINY TWO DOTS OVER ONE DOT PUNCTUATION" />

Not ideal. Should always be double digits. So, better like this:

<glyph name="a-avst" category="Letter" sortName="avst00" script="avestan" unicode="10B00" production="u10B00" description="AVESTAN LETTER A" />
<glyph name="aa-avst" category="Letter" sortName="avst01" script="avestan" unicode="10B01" production="u10B01" description="AVESTAN LETTER AA" />
<glyph name="ao-avst" category="Letter" sortName="avst02" script="avestan" unicode="10B02" production="u10B02" description="AVESTAN LETTER AO" />
<glyph name="aao-avst" category="Letter" sortName="avst03" script="avestan" unicode="10B03" production="u10B03" description="AVESTAN LETTER AAO" />
<glyph name="an-avst" category="Letter" sortName="avst04" script="avestan" unicode="10B04" production="u10B04" description="AVESTAN LETTER AN" />
<glyph name="aan-avst" category="Letter" sortName="avst05" script="avestan" unicode="10B05" production="u10B05" description="AVESTAN LETTER AAN" />
<glyph name="ae-avst" category="Letter" sortName="avst06" script="avestan" unicode="10B06" production="u10B06" description="AVESTAN LETTER AE" />
<glyph name="aee-avst" category="Letter" sortName="avst07" script="avestan" unicode="10B07" production="u10B07" description="AVESTAN LETTER AEE" />
<glyph name="e-avst" category="Letter" sortName="avst08" script="avestan" unicode="10B08" production="u10B08" description="AVESTAN LETTER E" />
<glyph name="ee-avst" category="Letter" sortName="avst09" script="avestan" unicode="10B09" production="u10B09" description="AVESTAN LETTER EE" />
<glyph name="o-avst" category="Letter" sortName="avst10" script="avestan" unicode="10B0A" production="u10B0A" description="AVESTAN LETTER O" />
<glyph name="oo-avst" category="Letter" sortName="avst11" script="avestan" unicode="10B0B" production="u10B0B" description="AVESTAN LETTER OO" />
<glyph name="i-avst" category="Letter" sortName="avst12" script="avestan" unicode="10B0C" production="u10B0C" description="AVESTAN LETTER I" />
<glyph name="ii-avst" category="Letter" sortName="avst13" script="avestan" unicode="10B0D" production="u10B0D" description="AVESTAN LETTER II" />
<glyph name="u-avst" category="Letter" sortName="avst14" script="avestan" unicode="10B0E" production="u10B0E" description="AVESTAN LETTER U" />
<glyph name="uu-avst" category="Letter" sortName="avst15" script="avestan" unicode="10B0F" production="u10B0F" description="AVESTAN LETTER UU" />
<glyph name="ke-avst" category="Letter" sortName="avst16" script="avestan" unicode="10B10" production="u10B10" description="AVESTAN LETTER KE" />
<glyph name="xe-avst" category="Letter" sortName="avst17" script="avestan" unicode="10B11" production="u10B11" description="AVESTAN LETTER XE" />
<glyph name="xye-avst" category="Letter" sortName="avst18" script="avestan" unicode="10B12" production="u10B12" description="AVESTAN LETTER XYE" />
<glyph name="xve-avst" category="Letter" sortName="avst19" script="avestan" unicode="10B13" production="u10B13" description="AVESTAN LETTER XVE" />
<glyph name="ge-avst" category="Letter" sortName="avst20" script="avestan" unicode="10B14" production="u10B14" description="AVESTAN LETTER GE" />
<glyph name="gge-avst" category="Letter" sortName="avst21" script="avestan" unicode="10B15" production="u10B15" description="AVESTAN LETTER GGE" />
<glyph name="ghe-avst" category="Letter" sortName="avst22" script="avestan" unicode="10B16" production="u10B16" description="AVESTAN LETTER GHE" />
<glyph name="ce-avst" category="Letter" sortName="avst23" script="avestan" unicode="10B17" production="u10B17" description="AVESTAN LETTER CE" />
<glyph name="je-avst" category="Letter" sortName="avst24" script="avestan" unicode="10B18" production="u10B18" description="AVESTAN LETTER JE" />
<glyph name="te-avst" category="Letter" sortName="avst25" script="avestan" unicode="10B19" production="u10B19" description="AVESTAN LETTER TE" />
<glyph name="the-avst" category="Letter" sortName="avst26" script="avestan" unicode="10B1A" production="u10B1A" description="AVESTAN LETTER THE" />
<glyph name="de-avst" category="Letter" sortName="avst27" script="avestan" unicode="10B1B" production="u10B1B" description="AVESTAN LETTER DE" />
<glyph name="dhe-avst" category="Letter" sortName="avst28" script="avestan" unicode="10B1C" production="u10B1C" description="AVESTAN LETTER DHE" />
<glyph name="tte-avst" category="Letter" sortName="avst29" script="avestan" unicode="10B1D" production="u10B1D" description="AVESTAN LETTER TTE" />
<glyph name="pe-avst" category="Letter" sortName="avst30" script="avestan" unicode="10B1E" production="u10B1E" description="AVESTAN LETTER PE" />
<glyph name="fe-avst" category="Letter" sortName="avst31" script="avestan" unicode="10B1F" production="u10B1F" description="AVESTAN LETTER FE" />
<glyph name="be-avst" category="Letter" sortName="avst32" script="avestan" unicode="10B20" production="u10B20" description="AVESTAN LETTER BE" />
<glyph name="bhe-avst" category="Letter" sortName="avst33" script="avestan" unicode="10B21" production="u10B21" description="AVESTAN LETTER BHE" />
<glyph name="nge-avst" category="Letter" sortName="avst34" script="avestan" unicode="10B22" production="u10B22" description="AVESTAN LETTER NGE" />
<glyph name="ngye-avst" category="Letter" sortName="avst35" script="avestan" unicode="10B23" production="u10B23" description="AVESTAN LETTER NGYE" />
<glyph name="ngve-avst" category="Letter" sortName="avst36" script="avestan" unicode="10B24" production="u10B24" description="AVESTAN LETTER NGVE" />
<glyph name="ne-avst" category="Letter" sortName="avst37" script="avestan" unicode="10B25" production="u10B25" description="AVESTAN LETTER NE" />
<glyph name="nye-avst" category="Letter" sortName="avst38" script="avestan" unicode="10B26" production="u10B26" description="AVESTAN LETTER NYE" />
<glyph name="nne-avst" category="Letter" sortName="avst39" script="avestan" unicode="10B27" production="u10B27" description="AVESTAN LETTER NNE" />
<glyph name="me-avst" category="Letter" sortName="avst40" script="avestan" unicode="10B28" production="u10B28" description="AVESTAN LETTER ME" />
<glyph name="hme-avst" category="Letter" sortName="avst41" script="avestan" unicode="10B29" production="u10B29" description="AVESTAN LETTER HME" />
<glyph name="yye-avst" category="Letter" sortName="avst42" script="avestan" unicode="10B2A" production="u10B2A" description="AVESTAN LETTER YYE" />
<glyph name="ye-avst" category="Letter" sortName="avst43" script="avestan" unicode="10B2B" production="u10B2B" description="AVESTAN LETTER YE" />
<glyph name="ve-avst" category="Letter" sortName="avst44" script="avestan" unicode="10B2C" production="u10B2C" description="AVESTAN LETTER VE" />
<glyph name="re-avst" category="Letter" sortName="avst45" script="avestan" unicode="10B2D" production="u10B2D" description="AVESTAN LETTER RE" />
<glyph name="le-avst" category="Letter" sortName="avst46" script="avestan" unicode="10B2E" production="u10B2E" description="AVESTAN LETTER LE" />
<glyph name="se-avst" category="Letter" sortName="avst47" script="avestan" unicode="10B2F" production="u10B2F" description="AVESTAN LETTER SE" />
<glyph name="ze-avst" category="Letter" sortName="avst48" script="avestan" unicode="10B30" production="u10B30" description="AVESTAN LETTER ZE" />
<glyph name="she-avst" category="Letter" sortName="avst49" script="avestan" unicode="10B31" production="u10B31" description="AVESTAN LETTER SHE" />
<glyph name="zhe-avst" category="Letter" sortName="avst50" script="avestan" unicode="10B32" production="u10B32" description="AVESTAN LETTER ZHE" />
<glyph name="shye-avst" category="Letter" sortName="avst51" script="avestan" unicode="10B33" production="u10B33" description="AVESTAN LETTER SHYE" />
<glyph name="sshe-avst" category="Letter" sortName="avst52" script="avestan" unicode="10B34" production="u10B34" description="AVESTAN LETTER SSHE" />
<glyph name="he-avst" category="Letter" sortName="avst53" script="avestan" unicode="10B35" production="u10B35" description="AVESTAN LETTER HE" />
<glyph name="abbreviation-avst" category="Punctuation" sortName="avst54" script="avestan" unicode="10B39" production="u10B39" description="AVESTAN ABBREVIATION MARK" />
<glyph name="tinyTwoDotsOverOneDot-avst" category="Punctuation" sortName="avst55" script="avestan" unicode="10B3A" production="u10B3A" description="TINY TWO DOTS OVER ONE DOT PUNCTUATION" />
<glyph name="smallTwoDotsOverOneDot-avst" category="Punctuation" sortName="avst56" script="avestan" unicode="10B3B" production="u10B3B" description="SMALL TWO DOTS OVER ONE DOT PUNCTUATION" />
<glyph name="largeTwoDotsOverOneDot-avst" category="Punctuation" sortName="avst57" script="avestan" unicode="10B3C" production="u10B3C" description="LARGE TWO DOTS OVER ONE DOT PUNCTUATION" />
<glyph name="largeDotOverTwoDots-avst" category="Punctuation" sortName="avst58" script="avestan" unicode="10B3D" production="u10B3D" description="LARGE ONE DOT OVER TWO DOTS PUNCTUATION" />
<glyph name="largeTwoRingOverOneRing-avst" category="Punctuation" sortName="avst59" script="avestan" unicode="10B3E" production="u10B3E" description="LARGE TWO RINGS OVER ONE RING PUNCTUATION" />
<glyph name="largeOneRingOverTwoRings-avst" category="Punctuation" sortName="avst60" script="avestan" unicode="10B3F" production="u10B3F" description="LARGE ONE RING OVER TWO RINGS PUNCTUATION" />

Do you have a list of what you would require before adding a new script to Glyphs? Would it be enough to send a prewritten glyphdata.xml file and a Groups.plist file?

There is quite a few scripts that I would like to be supported by default in the program that has yet to be added.

@Deluge we add new scripts if someone with knowledge about it asks. So if you have any information about missing scripts, I’m happy to add them.

Btw, the Avestan script is already included in Glyphs 3.1.

1 Like

Thanks! I checked my Glyphs and searched for Avestan, but I couldn’t find it. Is there something that I should do on my Glyphs in order to access Avestan character set? I appreciate your response.

PS: I use Glyphs 3 and it’s the last update 3.1

Not all scripts are in the sidebar listings. Check the Glyph info window for a full list of all infos.

Since the Unicode values are known about Avestan, just make a List Filter to generate the needed character cells.

Maybe in a future version of Glyphs 3 make it possible to drag-add the List Filter to a major category of the Languages section of the panel. In the case of Avestan, add Arabic from the popup, then drag the Avestan List Filter to the Arabic category.