Skip to content

Instantly share code, notes, and snippets.

View frankrolf's full-sized avatar
😸
meow

Frank Grießhammer frankrolf

😸
meow
View GitHub Profile
@frankrolf
frankrolf / mm_toggle.py
Last active January 17, 2023 13:09
Toggle Metrics Machine pair list
'''
Toggle the pair list of an open MetricsMachine (extension) window
from all kerning pairs (sorted by glyph order) to exceptions and back.
'''
import metricsMachine
import mm4
f = CurrentFont()
@frankrolf
frankrolf / segment_structure.py
Last active November 8, 2020 17:22
Robofont script to validate segment structure across fonts
'''
Print out segment structure for current glyph in all open fonts.
If the structure matches, only one line will be printed:
a 0 ⤴️📈📈⤴️⤴️⤴️⤴️📈⤴️⤴️⤴️ 1 ⤴️📈⤴️⤴️📈⤴️⤴️⤴️⤴️📈📈⤴️⤴️📈📈⤴️ ✔
If it does not, the structure of all open fonts will be printed for comparison:
@frankrolf
frankrolf / skew_selected_segments_to_italic_angle.py
Created August 21, 2020 17:33
Robofont: skew selected segments to Italic angle
import math
def calc_vector(p1, p2):
x1, y1 = p1
x2, y2 = p2
return x2 - x1, y2 - y1
def calc_distance(p1, p2):
@frankrolf
frankrolf / which_kerning_group.py
Created August 12, 2020 09:30
Robofont: startup script to find out which kerning group the selected glyph belongs to
'''
Robofont startup script to find out which kerning group
the selected glyph belongs to.
'''
import AppKit
from mojo.UI import CurrentFontWindow
from mojo.events import addObserver
from mojo.roboFont import CurrentFont
'''
Open different space centers based on figure figure_suffixes given below
'''
from mojo import UI
from AppKit import NSApp, NSScreen, NSMakeRect
# figure_suffixes = ('', '.lf', '.tosf', '.osf', '.sc', '.sups')
figure_suffixes = ('', '.lf', '.tosf', '.osf')
@frankrolf
frankrolf / flip_phrase.py
Last active September 3, 2020 11:09
Table-flip any phrase you like! (╯°□°)╯︵ ǝsɐɹɥd
'''
table-flip any phrase you like!
If the expression contains spaces, please use quotes.
python flip_phrase.py fontlab
>>> (╯°□°)╯︵ qɐlʇuoɟ
'''
import sys
import unicodedata
@frankrolf
frankrolf / arrange_stickies.scpt
Last active May 7, 2020 22:00
Applescript: distribute all stickies evenly on the main screen, with optional padding
# Distribute all stickies evenly on the main screen, with optional padding
# how many columns?
set num_columns to 7
# how many pixels of padding between the stickies?
set padding to 20
# Find the dimensions of the main screen
# https://stackoverflow.com/questions/1866912/applescript-how-to-get-current-display-resolution
@frankrolf
frankrolf / toggle.py
Last active December 19, 2025 21:04
Robofont: toggle current glyph window and space center window, if open
'''
TikToggle
- toggle glyph windows
- toggle the current space center to correspond to the frontmost glyph
suggested shortcut: ctrl - ↑
toggle_backward.py also exists:
suggested shortcut: ctrl - ↓
@frankrolf
frankrolf / floatObserver.py
Last active September 7, 2020 20:32
Robofont observer to avoid writing fractional coordinates.
from mojo.events import addObserver
import mojo
VERSION = mojo.roboFont.version
class FloatObserver(object):
def __init__(self):
# addObserver(self, 'saveCallback', 'fontWillClose')
addObserver(self, 'saveCallback', 'fontWillSave')
@frankrolf
frankrolf / tiny.py
Last active June 27, 2023 16:09 — forked from okay-type/tinyscript.py
Refireable Tiny Script Window
# menuTitle : Tiny Script Window
import tempfile
import time
from pathlib import Path
from AppKit import NSApp
from vanilla import FloatingWindow, SplitView
from lib.scripting.scriptingWindow import PyTextEditor, OutPutEditor
from mojo.events import addObserver, removeObserver
from mojo.extensions import (
setExtensionDefault, getExtensionDefault,