<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Best way to remove glyph from RFont?]]></title><description><![CDATA[<p dir="auto">Maybe a stupid question,<br />
But I'm not sure:<br />
is this a "proper" way to do that?</p>
<pre><code class="language-Python">glyphname = "a"
f = CurrentFont()
f.removeGlyph(glyphname)
</code></pre>
<p dir="auto">I'm asking this question because I'm not sure if it will remove the glyph "a" form all of the font's data(like components, kerning groups, kerning etc?)</p>
<p dir="auto">Thanks in advance</p>
]]></description><link>https://forum.robofont.com/topic/584/best-way-to-remove-glyph-from-rfont</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 04:30:55 GMT</lastBuildDate><atom:link href="https://forum.robofont.com/topic/584.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Feb 2019 12:35:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Tue, 12 Feb 2019 15:04:11 GMT]]></title><description><![CDATA[<p dir="auto">Maybe a stupid question,<br />
But I'm not sure:<br />
is this a "proper" way to do that?</p>
<pre><code class="language-Python">glyphname = "a"
f = CurrentFont()
f.removeGlyph(glyphname)
</code></pre>
<p dir="auto">I'm asking this question because I'm not sure if it will remove the glyph "a" form all of the font's data(like components, kerning groups, kerning etc?)</p>
<p dir="auto">Thanks in advance</p>
]]></description><link>https://forum.robofont.com/post/2042</link><guid isPermaLink="true">https://forum.robofont.com/post/2042</guid><dc:creator><![CDATA[RafaŁ Buchner]]></dc:creator><pubDate>Tue, 12 Feb 2019 15:04:11 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Tue, 12 Feb 2019 14:19:55 GMT]]></title><description><![CDATA[<p dir="auto">Rafał — the bottom of <a href="https://robofont.com/documentation/how-tos/adding-and-removing-glyphs/?highlight=remove%20glyphs" rel="nofollow">this page</a> has a few code snippets that show how to remove the glyph from the font, kerning, <em>and</em> groups. I just rewrote them all into one script.</p>
<p dir="auto">C</p>
]]></description><link>https://forum.robofont.com/post/2043</link><guid isPermaLink="true">https://forum.robofont.com/post/2043</guid><dc:creator><![CDATA[connor]]></dc:creator><pubDate>Tue, 12 Feb 2019 14:19:55 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Tue, 12 Feb 2019 15:03:12 GMT]]></title><description><![CDATA[<p dir="auto">the glyph can appear in the OpenType features code too – that’s a bit harder to solve with a script. simply removing it can break isometry between substitution classes, and the features will not compile.</p>
<p dir="auto">see also: <a href="http://github.com/typesupply/feaPyFoFum" rel="nofollow">feaPyFoFum</a></p>
]]></description><link>https://forum.robofont.com/post/2044</link><guid isPermaLink="true">https://forum.robofont.com/post/2044</guid><dc:creator><![CDATA[gferreira]]></dc:creator><pubDate>Tue, 12 Feb 2019 15:03:12 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Tue, 12 Feb 2019 15:22:42 GMT]]></title><description><![CDATA[<p dir="auto">and here’s how to remove all components of a given glyph:</p>
<pre><code class="language-python">font = CurrentFont()

glyphName = 'a'

for glyph in font:
    if not glyph.components:
        continue
    for component in glyph.components:
        if component.baseGlyph == glyphName:
            glyph.removeComponent(component)
            glyph.markColor = 1, 0, 0, 0.3
</code></pre>
]]></description><link>https://forum.robofont.com/post/2045</link><guid isPermaLink="true">https://forum.robofont.com/post/2045</guid><dc:creator><![CDATA[gferreira]]></dc:creator><pubDate>Tue, 12 Feb 2019 15:22:42 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Wed, 13 Feb 2019 08:24:14 GMT]]></title><description><![CDATA[<p dir="auto">small note: <code>removeGlyph</code> is deprecated use: <code>del font["a"]</code></p>
<p dir="auto">This does not remove the glyph from kerning or groups. The UFO spec allows to have group and kerning without having the glyph available in the UFO.</p>
]]></description><link>https://forum.robofont.com/post/2047</link><guid isPermaLink="true">https://forum.robofont.com/post/2047</guid><dc:creator><![CDATA[frederik]]></dc:creator><pubDate>Wed, 13 Feb 2019 08:24:14 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Thu, 14 Feb 2019 18:02:48 GMT]]></title><description><![CDATA[<p dir="auto">I found that the the <a href="https://robofont.com/documentation/how-tos/adding-and-removing-glyphs/?highlight=remove%20glyphs#removing-glyphs-from-groups" rel="nofollow">"remove from groups" script</a> listed on the "Adding and Removing glyphs" page didn't quite work, because you cannot directly remove an item from a tuple, and groups are tuples.</p>
<p dir="auto">Instead, I needed to first convert the group tuple to a list, remove the glyph, and convert back to a tuple.</p>
<pre><code># iterate over all groups in the font
    for groupName in f.groups.keys():

        # get the group
        group = f.groups[groupName]
        groupList = list(f.groups[groupName])

        # if glyph is in the group, remove it
        if glyphName in group:
            print('removing %s from group %s...' % (glyphName, groupName))
            groupList.remove(glyphName)
            f.groups[groupName] = tuple(groupList)
</code></pre>
<p dir="auto">Please correct me if I'm wrong about this, but it was erroring for me earlier, and seems to work well now.</p>
<p dir="auto">It would also be worth updating that piece of the docs to reflect Frederick's latest comment about <code>del font[glyphName]</code>.</p>
]]></description><link>https://forum.robofont.com/post/2052</link><guid isPermaLink="true">https://forum.robofont.com/post/2052</guid><dc:creator><![CDATA[StephenNixon]]></dc:creator><pubDate>Thu, 14 Feb 2019 18:02:48 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Thu, 14 Feb 2019 20:26:38 GMT]]></title><description><![CDATA[<p dir="auto">Actually, I'm finding that the glyph "placeholders" still hang around after I've gone through the steps in the docs to remove them from font, groups, kerning, and components.</p>
<p dir="auto"><img src="/assets/uploads/files/1550175939450-21a3153a-0b69-4f11-a1a4-ecc2120bd795-image.png" alt="21a3153a-0b69-4f11-a1a4-ecc2120bd795-image.png" class="img-responsive img-markdown" /></p>
<p dir="auto">Where do these glyphs come from, and how can I properly remove them?</p>
]]></description><link>https://forum.robofont.com/post/2054</link><guid isPermaLink="true">https://forum.robofont.com/post/2054</guid><dc:creator><![CDATA[StephenNixon]]></dc:creator><pubDate>Thu, 14 Feb 2019 20:26:38 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Fri, 15 Feb 2019 09:46:04 GMT]]></title><description><![CDATA[<p dir="auto">You should also remove them from <code>font.glyphOrder</code> RoboFont builds up the template (placeholder) glyphs from a given glyph order.</p>
]]></description><link>https://forum.robofont.com/post/2057</link><guid isPermaLink="true">https://forum.robofont.com/post/2057</guid><dc:creator><![CDATA[frederik]]></dc:creator><pubDate>Fri, 15 Feb 2019 09:46:04 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Wed, 31 Jul 2019 18:33:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.robofont.com/uid/230">@StephenNixon</a> ✔︎ docs updated. thanks for your comments!</p>
]]></description><link>https://forum.robofont.com/post/2060</link><guid isPermaLink="true">https://forum.robofont.com/post/2060</guid><dc:creator><![CDATA[gferreira]]></dc:creator><pubDate>Wed, 31 Jul 2019 18:33:21 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Fri, 15 Feb 2019 14:52:39 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.robofont.com/uid/1">@frederik</a> Awesome, thanks!</p>
]]></description><link>https://forum.robofont.com/post/2061</link><guid isPermaLink="true">https://forum.robofont.com/post/2061</guid><dc:creator><![CDATA[StephenNixon]]></dc:creator><pubDate>Fri, 15 Feb 2019 14:52:39 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Sat, 02 Mar 2019 15:41:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.robofont.com/uid/1">@frederik</a></p>
<blockquote>
<p dir="auto">also remove them from font.glyphOrder</p>
</blockquote>
<p dir="auto">Strangely, my script is able to remove <em>most</em> of the glyphs I ask it to, but it misses a few in glyphOrder. Can you see what I'm doing wrong here?</p>
<p dir="auto">(The script below removes all lowercase glyphs in a font, but misses <code>b d h n p r u v w lslash</code>)</p>
<pre><code>f = CurrentFont()

# copy space-separated glyph names here
glyphsToRemove = "a agrave aacute acircumflex atilde adieresis aring amacron abreve aogonek b c ccedilla cacute ccircumflex cdotaccent ccaron d dcaron e egrave eacute ecircumflex edieresis emacron ebreve edotaccent eogonek ecaron f g gcircumflex gbreve gdotaccent gcommaaccent h hcircumflex i igrave iacute icircumflex idieresis itilde imacron ibreve iogonek j jcircumflex k kcommaaccent l lacute lcommaaccent lcaron m n ntilde nacute ncommaaccent ncaron o ograve oacute ocircumflex otilde odieresis omacron obreve ohungarumlaut p q r racute rcommaaccent rcaron s sacute scircumflex scedilla scaron scommaaccent t tcommaaccent tcaron u ugrave uacute ucircumflex udieresis utilde umacron ubreve uring uhungarumlaut uogonek v w wcircumflex wgrave wacute wdieresis x y yacute ydieresis ycircumflex ygrave z zacute zdotaccent zcaron ae eth oslash thorn dcroat hbar ij ldot lslash eng oe tbar"

# clean up the rest of the data
for glyphToRemove in glyphsToRemove.split(" "):

    # remove from keys
    if glyphToRemove in f.keys():
        del f[glyphToRemove]

    # remove from glyphOrder 
    for glyphName in f.glyphOrder:
        if glyphName == glyphToRemove:
            del f.glyphOrder[glyphName]

    # GROUPS ------------------------------------------------------------

    # iterate over all groups in the font
    for groupName in f.groups.keys():

        # get the group
        group = f.groups[groupName]
        groupList = list(f.groups[groupName])

        # if glyph is in the group, remove it
        if glyphToRemove in group:
            print('removing %s from group %s...' % (glyphToRemove, groupName))
            groupList.remove(glyphToRemove)
            f.groups[groupName] = tuple(groupList)

    # KERNING -----------------------------------------------------------

    # iterate over all kerning pairs in the font
    for kerningPair in f.kerning.keys():

        # if glyph is in the kerning pair, remove it
        if glyphToRemove in kerningPair:
            print('removing kerning pair (%s, %s)...' % kerningPair)
            del f.kerning[kerningPair]

    # COMPONENTS --------------------------------------------------------

    # iterate over all glyphs in the font
    for glyph in f:

        # skip glyphs which don’t have components
        if not glyph.components:
            continue

        # iterate over all components in glyph
        for component in glyph.components:

            # if the base glyph is the glyph to be removed
            if component.baseGlyph == glyphToRemove:
                # delete the component
                glyph.removeComponent(component)

</code></pre>
]]></description><link>https://forum.robofont.com/post/2106</link><guid isPermaLink="true">https://forum.robofont.com/post/2106</guid><dc:creator><![CDATA[StephenNixon]]></dc:creator><pubDate>Sat, 02 Mar 2019 15:41:47 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Sat, 02 Mar 2019 15:54:15 GMT]]></title><description><![CDATA[<p dir="auto">Actually, hmm. I'm finding that the script in the docs for <a href="https://robofont.com/documentation/how-tos/adding-and-removing-glyphs/?highlight=remove%20glyphs#removing-glyphs-from-kerning" rel="nofollow">removing-glyphs-from-kerning</a> doesn't seem to be removing kern pairs.</p>
<p dir="auto">For example, this is failing to remove data around the <code>a</code> kerning:</p>
<pre><code>font = CurrentFont()

# the glyph to be removed
glyphName = 'a'

# iterate over all kerning pairs in the font
for kerningPair in font.kerning.keys():

    # if the glyph is in the kerning pair:
    if glyphName in kerningPair:

        # remove the kerning pair
        print('removing kerning pair (%s, %s)...' % kerningPair)
        del font.kerning[kerningPair]
</code></pre>
<p dir="auto">Even after running that, I still have all of the kern1 and kern2 data from <code>a</code> in the UFO.</p>
]]></description><link>https://forum.robofont.com/post/2107</link><guid isPermaLink="true">https://forum.robofont.com/post/2107</guid><dc:creator><![CDATA[StephenNixon]]></dc:creator><pubDate>Sat, 02 Mar 2019 15:54:15 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Sat, 02 Mar 2019 19:59:10 GMT]]></title><description><![CDATA[<p dir="auto">don’t change the <code>font.glyphOrder</code> inside a loop, mainly as the glyphOrder is not the actual list you are editing but a copy of it.</p>
<pre><code class="language-python">glyphOrder = font.glyphOrder

for glyphName in glyphsToRemove.split:

    if glyphName in glyphOrder:
        glyphOrder.remove(glyphName)

font.glyphOrder = glyphOrder
</code></pre>
]]></description><link>https://forum.robofont.com/post/2109</link><guid isPermaLink="true">https://forum.robofont.com/post/2109</guid><dc:creator><![CDATA[frederik]]></dc:creator><pubDate>Sat, 02 Mar 2019 19:59:10 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Sat, 02 Mar 2019 19:39:58 GMT]]></title><description><![CDATA[<p dir="auto">and I cannot reproduce the kerning issue...<br />
are you sure the 'a' is not in some group kerning?</p>
]]></description><link>https://forum.robofont.com/post/2110</link><guid isPermaLink="true">https://forum.robofont.com/post/2110</guid><dc:creator><![CDATA[frederik]]></dc:creator><pubDate>Sat, 02 Mar 2019 19:39:58 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Wed, 31 Jul 2019 16:25:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.robofont.com/uid/230">@StephenNixon</a> said in <a href="/post/2106">Best way to remove glyph from RFont?</a>:</p>
<blockquote>
<pre><code class="language-python">if glyphToRemove in f.keys():
        del f[glyphToRemove]
</code></pre>
</blockquote>
<p dir="auto">Thanks for the earlier feedback, <a class="plugin-mentions-user plugin-mentions-a" href="https://forum.robofont.com/uid/1">@frederik</a>! I think I must have figured out my kerning issue, but it may have been with someone's internal tool, back in March ... I should have documented that, here.</p>
<p dir="auto">I do still have a remaining issue, however. Even with the suggested edits, there are still some holdout glyphs in my font that I can't seem to remove. They appear to go away when I run the script, but when I restart RoboFont and open my font, they're back.</p>
<p dir="auto"><a href="https://github.com/thundernixon/robofont-drawing-helpers/blob/master/remove-selected-glyphs-from-font.py" rel="nofollow">Here's my current script</a>, and here's <a href="https://github.com/thundernixon/robofont-drawing-helpers/blob/d4436c18112a2da077a5fbb366c995e9ddcbfdb1/remove-selected-glyphs-from-font.py" rel="nofollow">a permalink to its exact current state</a>.</p>
<p dir="auto">From what I can tell, these holdout glyphs are hiding in the layer "overlap". Is my script missing something necessary to delete a selected glyph in <em>all</em> layers?</p>
<p dir="auto"><img src="/assets/uploads/files/1564427552591-f8747140-d563-44d6-bf31-5989868fcc3b-image.png" alt="f8747140-d563-44d6-bf31-5989868fcc3b-image.png" class="img-responsive img-markdown" /></p>
<p dir="auto">Part of the problem might be that <code>selectedGlyphNames</code> isn't returning all of the selected template glyphs, as shown here:</p>
<p dir="auto"><img src="/assets/uploads/files/1564427933343-cceba5af-1139-4bab-b007-cbb2e31e040a-image-resized.png" alt="cceba5af-1139-4bab-b007-cbb2e31e040a-image.png" class="img-responsive img-markdown" /></p>
<p dir="auto">However, even the glyph names that <code>selectedGlyphNames</code> <em>does</em> return are ghosts that keep coming back when I close and reopen the UFO.</p>
<p dir="auto">What might I do to really get rid of them?</p>
]]></description><link>https://forum.robofont.com/post/2557</link><guid isPermaLink="true">https://forum.robofont.com/post/2557</guid><dc:creator><![CDATA[StephenNixon]]></dc:creator><pubDate>Wed, 31 Jul 2019 16:25:52 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Wed, 31 Jul 2019 23:17:22 GMT]]></title><description><![CDATA[<p dir="auto">hi <a class="plugin-mentions-user plugin-mentions-a" href="https://forum.robofont.com/uid/230">@StephenNixon</a>,</p>
<blockquote>
<p dir="auto">Is my script missing something necessary to delete a selected glyph in all layers?</p>
</blockquote>
<p dir="auto">yes – as it turns out, to remove a glyph from all layers we need to remove the glyph from all layers :)</p>
<pre><code class="language-python">for layerName in f.layerOrder:
    layer = f.getLayer(layerName)
    for glyphToRemove in glyphsToRemove:
        if glyphToRemove in layer:
            del layer[glyphToRemove]
        else:
            print("%s does not contain a glyph named '%s'" % (layerName, glyphToRemove))
</code></pre>
<p dir="auto">this should work, please give it a try.</p>
<hr />
<blockquote>
<p dir="auto">Part of the problem might be that <code>selectedGlyphNames</code> isn't returning all of the selected template glyphs, as shown here:</p>
<p dir="auto"><img src="/assets/uploads/files/1564427933343-cceba5af-1139-4bab-b007-cbb2e31e040a-image-resized.png" alt="cceba5af-1139-4bab-b007-cbb2e31e040a-image.png" class="img-responsive img-markdown" /></p>
</blockquote>
<p dir="auto">this is a tricky one, I understand why you are confused:</p>
<p dir="auto">the image is showing some glyphs which don’t exist in the default layer (because they were deleted by your script), but which do exist in other layers (because the script did not delete them).</p>
<p dir="auto">so, the glyph cells are showing a template glyph in the default layer overlaid over existing glyphs in other layers. and because the glyph cells are at an intermediate size, the glyph shapes from other layers are not being displayed, only their widths are. <em>(edit: the small L icon at the bottom right also indicate that these glyphs have layers)</em></p>
<p dir="auto">if you make the glyph cells bigger, you will be able to see the other layers in the background:</p>
<p dir="auto"><img src="/assets/uploads/files/1564446908970-screen-shot-2019-07-29-at-21.33.04.png" alt="Screen Shot 2019-07-29 at 21.33.04.png" class="img-responsive img-markdown" /></p>
<p dir="auto">I hope this makes sense… I’ll do my best to improve the docs about <a href="http://robofont.com/documentation/how-tos/adding-and-removing-glyphs/#removing-glyphs-1" rel="nofollow">removing glyphs</a> and <a href="http://robofont.com/documentation/workspace/font-overview/#template-glyphs" rel="nofollow">template glyphs</a>.</p>
<p dir="auto">thanks for your comments!</p>
]]></description><link>https://forum.robofont.com/post/2558</link><guid isPermaLink="true">https://forum.robofont.com/post/2558</guid><dc:creator><![CDATA[gferreira]]></dc:creator><pubDate>Wed, 31 Jul 2019 23:17:22 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Tue, 30 Jul 2019 14:20:29 GMT]]></title><description><![CDATA[<p dir="auto">ps.</p>
<blockquote>
<p dir="auto">as it turns out, to remove a glyph from all layers we need to remove the glyph from all layers</p>
</blockquote>
<p dir="auto">this behaviour is new in RF3, because of its <a href="http://robofont.com/documentation/RF3-changes/#new-implementation-of-layers" rel="nofollow">new layers model</a>.</p>
<p dir="auto">in RF1, layers were bound to glyphs, so removing a glyph would remove all layers in that glyph.</p>
<p dir="auto">in RF3, however, layers are independent glyph sets, so removing a glyph from the default layer does not automatically remove it from the other layers.</p>
]]></description><link>https://forum.robofont.com/post/2561</link><guid isPermaLink="true">https://forum.robofont.com/post/2561</guid><dc:creator><![CDATA[gferreira]]></dc:creator><pubDate>Tue, 30 Jul 2019 14:20:29 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Wed, 31 Jul 2019 16:24:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.robofont.com/uid/22">@gferreira</a> said in <a href="/post/2558">Best way to remove glyph from RFont?</a>:</p>
<blockquote>
<pre><code class="language-python">for layerName in f.layerOrder:
    layer = f.getLayer(layerName)
    for glyphToRemove in glyphsToRemove:
        if glyphToRemove in layer:
            del layer[glyphToRemove]
        else:
            print("%s does not contain a glyph named '%s'" % (layerName, glyphToRemove))
</code></pre>
</blockquote>
<p dir="auto">Ahhh this makes a lot of sense now, but it's helpful to see the specific way to do it.</p>
<p dir="auto">Maybe it would be worth adding this to the docs, here?</p>
<p dir="auto"><a href="https://robofont.com/documentation/how-tos/adding-and-removing-glyphs/?highlight=remove%20glyphs#removing-glyphs-1" rel="nofollow">https://robofont.com/documentation/how-tos/adding-and-removing-glyphs/?highlight=remove glyphs#removing-glyphs-1</a></p>
<p dir="auto">Thanks so much for the help!</p>
]]></description><link>https://forum.robofont.com/post/2563</link><guid isPermaLink="true">https://forum.robofont.com/post/2563</guid><dc:creator><![CDATA[StephenNixon]]></dc:creator><pubDate>Wed, 31 Jul 2019 16:24:41 GMT</pubDate></item><item><title><![CDATA[Reply to Best way to remove glyph from RFont? on Wed, 15 Dec 2021 15:46:20 GMT]]></title><description><![CDATA[<p dir="auto">As a belated update, I found that the script above didn’t handle Template Glyphs well. It would remove all template glyphs from the font.</p>
<p dir="auto">This current version of the script handles template glyphs:</p>
<p dir="auto"><a href="https://gist.github.com/arrowtype/9ef6ce07233af2d80bc0bfb4290d642c" rel="nofollow">https://gist.github.com/arrowtype/9ef6ce07233af2d80bc0bfb4290d642c</a></p>
]]></description><link>https://forum.robofont.com/post/3900</link><guid isPermaLink="true">https://forum.robofont.com/post/3900</guid><dc:creator><![CDATA[ArrowType]]></dc:creator><pubDate>Wed, 15 Dec 2021 15:46:20 GMT</pubDate></item></channel></rss>