Skip to content

Instantly share code, notes, and snippets.

View fastfontbuilder
#!/opt/homebrew/bin/python3
import sys
sys.path.insert(0, "/Users/simon/others-repos/ufo2ft/Lib")
from glyphsLib.classes import GSFont
from glyphsLib.builder import UFOBuilder
from glyphsLib.builder.font import fill_ufo_metadata
from fontmake.font_project import FontProject
from timeit import default_timer as timer
View timesheet.py
import requests
from dateutil.relativedelta import relativedelta, FR
from datetime import datetime
import os
lastweek = datetime.utcnow().replace(hour=0,microsecond=0) + relativedelta(weekday=FR(-1))
headers = {"Authorization": "bearer "+os.environ["GITHUB_TOKEN"]}
def run_query(query):
View slim-words.py
import sys
import os
DEFAULT_NGRAM_SIZE = 5
def all_ngrams(word, size=None):
if size is None:
size = DEFAULT_NGRAM_SIZE
for i in range(max(1, len(word) - size)):
View lookup-size.py
from fontTools.ttLib import TTFont
from fontTools.ttLib.tables.otBase import OTTableWriter
import sys
from fontTools.feaLib.lookupDebugInfo import LOOKUP_DEBUG_INFO_KEY
font = TTFont(sys.argv[1])
def locate(table, ix):
if "Debg" not in font:
return str(ix)
View JSTFv1.1.md

Justification with Variable Fonts

  • In JSTF header
Type Name Description
uint16 majorVersion Major version of the JSTF table, = 1
uint16 minorVersion Minor version of the JSTF table, = 0
uint16 jstfScriptCount Number of JstfScriptRecords in this table
JstfScriptRecord jstfScriptRecords[jstfScriptCount] Array of JstfScriptRecords, in alphabetical order by jstfScriptTag
@simoncozens
simoncozens / threed.py
Created October 6, 2022 10:43
Three-dimensional colour variable fonts
View threed.py
import numpy as np
import matplotlib.pyplot as plt
import math
from babelfont import Font, Layer, Shape, Master, Node, Axis, Glyph
import uuid
from lottie2vf.paintcompiler import compile_paints
from fontTools.ttLib import TTFont
glyph_pts = {
@simoncozens
simoncozens / noto-static.json
Created July 28, 2022 14:41
Operation-level timing of static instance generation
View noto-static.json
[
{
"format": "designspace",
"glyphs": 3304,
"instances": 2,
"masters": 2,
"name": "arimo",
"succeeded": true,
"timings": [
[
@simoncozens
simoncozens / noto-variable.json
Created July 28, 2022 11:09
Operation-level timings for building variable fonts
View noto-variable.json
[
{
"format": "designspace",
"glyphs": 3304,
"instances": 2,
"masters": 2,
"name": "arimo",
"succeeded": false,
"timings": [
[
@simoncozens
simoncozens / precompilation.patch
Created July 28, 2022 06:26
ufo2ft rust precompilation patch
View precompilation.patch
diff --git a/Lib/ufo2ft/__init__.py b/Lib/ufo2ft/__init__.py
index 4295caa..a98528a 100644
--- a/Lib/ufo2ft/__init__.py
+++ b/Lib/ufo2ft/__init__.py
@@ -1,12 +1,15 @@
import logging
import os
from enum import IntEnum
+import tempfile
View noto-static.json
[
{
"format": "designspace",
"glyphs": 3304,
"instances": 2,
"masters": 2,
"name": "arimo",
"real": 19.89,
"succeeded": true,
"sys": 0.82,