Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 16:11

    anthrotype on pyup-scheduled-update-2022-09-26

    (compare)

  • 16:11

    anthrotype on pyup-scheduled-update-2022-09-26

    Update sphinx from 5.1.1 to 5.2… (compare)

  • 16:11

    anthrotype on pyup-scheduled-update-2022-09-26

    Update pyobjc from 8.5 to 8.5.1 (compare)

  • 16:11
    pyup-bot edited as member
  • 12:59
    arialcrime commented #1993
  • 12:41
    justvanrossum commented #1993
  • 12:35
    arialcrime commented #1993
  • Sep 23 10:36
    anthrotype commented #2832
  • Sep 23 10:34
    jenskutilek commented #2832
  • Sep 23 10:23
    anthrotype commented #2832
  • Sep 23 10:08

    anthrotype on main

    unicodedata: Update Scripts/Blo… Merge pull request #2833 from f… (compare)

  • Sep 23 10:08

    anthrotype on unicode-15

    (compare)

  • Sep 23 10:08
    anthrotype closed #2833
  • Sep 23 09:43
    anthrotype opened #2833
  • Sep 23 09:43

    anthrotype on unicode-15

    unicodedata: Update Scripts/Blo… (compare)

  • Sep 22 17:52
    Lorp commented #2832
  • Sep 22 17:15
    Lorp commented #2832
  • Sep 22 16:44
    behdad commented #2832
  • Sep 22 13:55
    jenskutilek commented #2832
  • Sep 22 13:51
    jenskutilek commented #2832
anthrotype
@anthrotype:matrix.org
[m]
you can even call it as a script
From the console
fonttools ttLib.removeOverlaps --help
requires skia-pathops
n8willis
@n8willis
ok, so skPathFromGlyph looks doable ...
without roundtripping through glyphs, certainly
anthrotype
@anthrotype:matrix.org
[m]
you create a pathops.Path from a TTGlyph, then call intersection then convert back to TTGlyph, replacing original
You want to call the pathops.op() method with two Paths and PathOp.INTERSECTION operator
n8willis
@n8willis
yeah. I'll give it a try
thanks @anthrotype:matrix.org !
Nuc1eoN
@Nuc1eoN_gitlab
Any bitmap font or text art glyph enthusiasts here? :P
Fredrick Brennan
@ctrlcctrlv:matrix.org
[m]
@Nuc1eoN_gitlab: it seems today the answer is oui unified-font-object/ufo-spec#205
Nuc1eoN
@Nuc1eoN_gitlab
Sounds nice. If anybody is interested in bitmap fonts, ascii art and the like, we have a group over at #retrofonts.club @ irc.libera.chat
n8willis
@n8willis
Is there any FOSS code out there for deriving skeletons from TTGlyphs? Or, alternatively, mitred offset curves?
Akin to the general-geometry stuff here: https://www.sthu.org/research/straightskeleton/ (which has an implementation, but is not open source)
I've also seen the GlyphsApp LTTR-INK plugin, which is similarly not open; just wondering if I've overlooked something.
madigens
@madigens:matrix.org
[m]
not aware, but maybe ask on font twitter?
n8willis
@n8willis
Just in case anybody has been losing sleep over this question waiting for some closure, the answer appears to be "No, there isn't."
David Corbett
@dscorbett
Is there anything that optimizes coverage tables by reassigning glyph IDs to minimize the number of necessary RangeRecords?
anthrotype
@anthrotype:matrix.org
[m]
Reordering glyphs in an existing font is not trivial, the only implementation that I know of is the one we made for nanoemoji tool here, it doesn't do it for optimizing coverage range records but you can use it as a start
(I'm on the runway waiting for my flight to depart)
David Corbett
@dscorbett
This is for a not-yet-built font: I know what the glyphs will be and all the GSUB and GPOS rules, but nothing has been compiled. Does that make it easier?
anthrotype
@anthrotype:matrix.org
[m]
Yes, in that case you simply need to set the glyphOrder of your source font to the desired list
And the compiler will use that order you gave
n8willis
@n8willis
Another fun question for any of you CFF fans....
I'm trying to obfuscate bits of a bunch of fonts. Subsetter does fine for most, but I can't seem to track down everything I need to dummy-out for CFF.
1 reply
Just stepping through the TopDict stuff, this much works:
font["CFF "].cff[0].FamilyName = dummy
font["CFF "].cff[0].FontName = dummy
font["CFF "].cff[0].FullName = dummy
font["CFF "].cff[0].version = dummy
font["CFF "].cff[0].Notice = dummy
font["CFF "].cff[0].Copyright = dummy
font["CFF "].cff[0].BaseFontName = dummy
font["CFF "].cff[0].PostScript = dummy
font["CFF "].cff[0].Weight = dummy
But I'm still ending up with a stray copy of the original font name somewhere.... It shows up as "Fontname" in the PS Names panel on FontForge. Maybe more useful, it looks like it's in the <CFFFont name= > element in the ttx XML.
How do I get at that? Looking at the cffLib source, I'm obviously missing where it comes from....
Jay
@visusys
Hi all. New to this. Is there a snippet somewhere that converts TTF to OTF? Just like the otf2ttf.py Snippet that comes with Fonttools but in reverse?