Skip to content

Commit

Permalink
Check in first working version of fontcExport plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
anthrotype committed May 15, 2024
1 parent 763429d commit a3f6c68
Show file tree
Hide file tree
Showing 7 changed files with 613 additions and 0 deletions.
28 changes: 28 additions & 0 deletions fontcExport.glyphsFileFormat/Contents/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>plugin</string>
<key>CFBundleIdentifier</key>
<string>com.googlefonts.FontcExport</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>fontc Export</string>
<key>CFBundleShortVersionString</key>
<string>0.1</string> <!-- 1.0 -->
<key>CFBundleVersion</key>
<string>2</string> <!-- 123 -->
<key>NSHumanReadableCopyright</key>
<string>Copyright, Georg Seifert, 2023</string>
<key>NSPrincipalClass</key>
<string>FontcExport</string>
<key>PyMainFileNames</key>
<array>
<string>plugin.py</string>
</array>
</dict>
</plist>
Binary file not shown.
Binary file not shown.
Binary file not shown.
153 changes: 153 additions & 0 deletions fontcExport.glyphsFileFormat/Contents/Resources/IBdialog.xib
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22689"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="FontcExport">
<connections>
<outlet property="dialog" destination="0uz-PR-nvh" id="mLy-5f-d0K"/>
<outlet property="recentExportPathsButton" destination="Rlh-zW-7E1" id="H0N-rj-ksh"/>
<outlet property="view" destination="0uz-PR-nvh" id="7In-QF-9hO"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<userDefaultsController representsSharedInstance="YES" id="32"/>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="0uz-PR-nvh">
<rect key="frame" x="0.0" y="0.0" width="431" height="154"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="MwK-lw-45g">
<rect key="frame" x="28" y="118" width="375" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Command line options" id="vqK-Xa-Lua">
<font key="font" metaFont="systemBold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="BCy-VU-bPj">
<rect key="frame" x="30" y="78" width="371" height="5"/>
</box>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kBW-DZ-mcW">
<rect key="frame" x="28" y="49" width="125" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Export Destination" id="ZA2-uO-kxD">
<font key="font" metaFont="systemBold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ov6-1X-2md">
<rect key="frame" x="28" y="18" width="18" height="18"/>
<buttonCell key="cell" type="check" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="jud-BR-fb2">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="32" name="enabled" keyPath="values.OTFExportTestInstall" id="LaC-ra-9bz">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
<binding destination="32" name="value" keyPath="values.org_fontc_useExportPath" id="bsB-7N-lAi"/>
</connections>
</button>
<pathControl horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="850" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zqP-vd-wQs">
<rect key="frame" x="44" y="17" width="325" height="20"/>
<pathCell key="cell" controlSize="small" selectable="YES" editable="YES" alignment="left" id="DpP-2O-ZL3">
<font key="font" metaFont="smallSystem"/>
<url key="url" string="file://localhost/Applications/"/>
<allowedTypes>
<string>public.folder</string>
</allowedTypes>
</pathCell>
<connections>
<action selector="openDoc:" target="-2" id="TEU-5c-zA2"/>
<binding destination="32" name="enabled2" keyPath="values.OTFExportTestInstall" previousBinding="pL1-wY-Swo" id="HAf-cG-SuV">
<dictionary key="options">
<integer key="NSMultipleValuesPlaceholder" value="-1"/>
<integer key="NSNoSelectionPlaceholder" value="-1"/>
<integer key="NSNotApplicablePlaceholder" value="-1"/>
<integer key="NSNullPlaceholder" value="-1"/>
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
<binding destination="32" name="enabled" keyPath="values.OTFExportUseExportPath" id="pL1-wY-Swo"/>
<binding destination="32" name="value" keyPath="values.org_fontc_exportPath" id="3hG-o4-5OE">
<dictionary key="options">
<string key="NSValueTransformerName">GSPathToURLTransformer</string>
</dictionary>
</binding>
</connections>
</pathControl>
<popUpButton translatesAutoresizingMaskIntoConstraints="NO" id="Rlh-zW-7E1">
<rect key="frame" x="372" y="22" width="29" height="15"/>
<popUpButtonCell key="cell" type="bevel" title="Item 1" bezelStyle="rounded" imagePosition="only" alignment="center" lineBreakMode="truncatingTail" state="on" imageScaling="proportionallyDown" inset="2" pullsDown="YES" arrowPosition="noArrow" selectedItem="MU5-E1-LYN" id="MGh-fc-vbv">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="5Am-Xa-XBA">
<items>
<menuItem title="Item 1" state="on" image="NSActionTemplate" hidden="YES" id="MU5-E1-LYN"/>
<menuItem title="Item 2" id="r5q-5V-SNJ"/>
<menuItem title="Item 3" id="VTG-3i-kbG"/>
</items>
</menu>
</popUpButtonCell>
<constraints>
<constraint firstAttribute="width" constant="24" id="P9b-Ch-yG4"/>
</constraints>
</popUpButton>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tXf-wR-7pE">
<rect key="frame" x="30" y="89" width="343" height="21"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="cbK-kQ-Jgr">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="32" name="value" keyPath="values.org_fontc_additional_options" id="zIC-9T-fJf"/>
</connections>
</textField>
<button verticalHuggingPriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="UGk-q4-qXj">
<rect key="frame" x="378" y="86" width="26" height="27"/>
<buttonCell key="cell" type="round" bezelStyle="circular" image="NSAddTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="A0X-HD-eEJ">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="showAddOptionPopup:" target="-2" id="3ED-la-PWa"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstItem="BCy-VU-bPj" firstAttribute="top" secondItem="tXf-wR-7pE" secondAttribute="bottom" constant="8" symbolic="YES" id="3iU-PY-eOx"/>
<constraint firstItem="tXf-wR-7pE" firstAttribute="top" secondItem="UGk-q4-qXj" secondAttribute="top" id="Dr1-G0-9Nz"/>
<constraint firstItem="MwK-lw-45g" firstAttribute="trailing" secondItem="UGk-q4-qXj" secondAttribute="trailing" id="GzS-zi-6f8"/>
<constraint firstItem="MwK-lw-45g" firstAttribute="leading" secondItem="tXf-wR-7pE" secondAttribute="leading" id="ILY-cD-iJr"/>
<constraint firstItem="MwK-lw-45g" firstAttribute="leading" secondItem="0uz-PR-nvh" secondAttribute="leading" constant="30" id="JL4-0H-Xtg"/>
<constraint firstAttribute="bottom" secondItem="Ov6-1X-2md" secondAttribute="bottom" constant="20" symbolic="YES" id="QKX-hv-cVV"/>
<constraint firstItem="MwK-lw-45g" firstAttribute="top" secondItem="0uz-PR-nvh" secondAttribute="top" constant="20" symbolic="YES" id="Yel-ri-HbN"/>
<constraint firstItem="kBW-DZ-mcW" firstAttribute="leading" secondItem="Ov6-1X-2md" secondAttribute="leading" id="bhL-TM-pte"/>
<constraint firstItem="zqP-vd-wQs" firstAttribute="top" secondItem="Rlh-zW-7E1" secondAttribute="top" id="bhk-nY-hf3"/>
<constraint firstItem="UGk-q4-qXj" firstAttribute="leading" secondItem="tXf-wR-7pE" secondAttribute="trailing" constant="8" symbolic="YES" id="cIl-O0-Ndl"/>
<constraint firstItem="tXf-wR-7pE" firstAttribute="top" secondItem="MwK-lw-45g" secondAttribute="bottom" constant="8" symbolic="YES" id="eN5-Mg-Kb1"/>
<constraint firstItem="kBW-DZ-mcW" firstAttribute="top" secondItem="BCy-VU-bPj" secondAttribute="bottom" constant="15" id="fvf-e6-MPq"/>
<constraint firstItem="Ov6-1X-2md" firstAttribute="centerY" secondItem="zqP-vd-wQs" secondAttribute="centerY" id="gk9-ee-WJx"/>
<constraint firstItem="MwK-lw-45g" firstAttribute="centerX" secondItem="0uz-PR-nvh" secondAttribute="centerX" id="jm2-8I-cZ4"/>
<constraint firstItem="zqP-vd-wQs" firstAttribute="top" secondItem="kBW-DZ-mcW" secondAttribute="bottom" constant="12" id="jos-rm-Gkz"/>
<constraint firstItem="BCy-VU-bPj" firstAttribute="trailing" secondItem="Rlh-zW-7E1" secondAttribute="trailing" id="kL1-2u-N4s"/>
<constraint firstItem="Rlh-zW-7E1" firstAttribute="leading" secondItem="zqP-vd-wQs" secondAttribute="trailing" constant="8" symbolic="YES" id="khK-pT-ewv"/>
<constraint firstItem="zqP-vd-wQs" firstAttribute="leading" secondItem="Ov6-1X-2md" secondAttribute="trailing" id="lnu-aW-EeW"/>
<constraint firstItem="tXf-wR-7pE" firstAttribute="centerY" secondItem="UGk-q4-qXj" secondAttribute="centerY" id="psC-p4-zIp"/>
<constraint firstItem="UGk-q4-qXj" firstAttribute="trailing" secondItem="BCy-VU-bPj" secondAttribute="trailing" id="udV-Dh-T4g"/>
<constraint firstItem="tXf-wR-7pE" firstAttribute="leading" secondItem="BCy-VU-bPj" secondAttribute="leading" id="wK5-Pz-nta"/>
<constraint firstItem="BCy-VU-bPj" firstAttribute="leading" secondItem="kBW-DZ-mcW" secondAttribute="leading" id="zqb-VW-pEg"/>
</constraints>
<point key="canvasLocation" x="327.5" y="524"/>
</customView>
</objects>
<resources>
<image name="NSActionTemplate" width="20" height="20"/>
<image name="NSAddTemplate" width="18" height="17"/>
</resources>
</document>
65 changes: 65 additions & 0 deletions fontcExport.glyphsFileFormat/Contents/Resources/options.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
(
{
identifier = "--incremental";
name = "Incremental Build";
text = "**Incremental Build**
Whether to write intermediate representation (IR) to disk. Must be true if you want incremental compilation.";
},
{
identifier = "--prefer-simple-glyphs=false";
name = "Prefer Simple Glyphs";
text = "**Prefer Simple Glyphs**
In cases where a source glyph uses a mixture of components and contours, convert all the components to contours [default: true] [possible values: true, false]";
},
{
identifier = "--flatten-components";
name = "Flatten Components";
text = "**Flatten Components**
Eliminate component references to other glyphs using components (that is, nested components), emitting only component references to simple (contour) glyphs";
},
{
identifier = "--decompose-transformed-components";
name = "Decompose Transformed Components";
text = "**Decompose Transformed Components**
Whether all components with a non-identity 2x2 transform will be converted to outlines";
},
{
identifier = "--no-production-names";
name = "No Production Names";
text = "**No Production Names**
Don't rename glyphs with production names";
},
{
identifier = "--keep-direction";
name = "Keep Direction";
text = "**Keep Direction**
Whether to keep the original glyph contour direction (TTF only)";
},
{
identifier = "--skip-features";
name = "Skip Features";
text = "**Skip Features**
Set to skip compilation of OpenType Layout features";
},
{
identifier = "--emit-timing";
name = "Emit Timing";
text = "**Emit Timing**
Whether to out timing data, notably a visualization of threadpool execution of tasks";
},
{
identifier = "--emit-debug";
name = "Emit Debug";
text = "**Emit Debug**
Whether to write additional debug files to disk";
},
)

0 comments on commit a3f6c68

Please sign in to comment.