TypeCon is the conference for everyone who loves type & lettering.
SAVE THE DATE:
July 24–27, 2024
More details to follow soon, stay tuned.
TypeCon is the conference for everyone who loves type & lettering.
SAVE THE DATE:
July 24–27, 2024
More details to follow soon, stay tuned.
Um curso completo de criação de fontes: Nevegue com a Plau por mais de seis horas de puro conteúdo prático e teórico numa jornada por toda criação de uma fonte do zero, letra à letra.
Os participantes recebem uma licença de teste estendida e podem comprar sua própria licença completa com desconto.
De 28 de março de 2024, até 5 de julho de 2024
Carlos Mignot, Plau
R$ 2200 (Pix, boleto e em até 12x no cartão de crédito.)
Português
Um Mac com boa conexão à internet e Glyphs 3 pré-instalado.
Do A à Z e muito mais.
Um curso completo, letra por letra, com todas as etapas de criação de fonte:
Conteúdo
Dúvidas frequentes
Quanto tempo terei de acesso ao material gravado?
As mais de seis horas de aula ficarão disponíveis para acesso por 24 meses, ou dois anos.
Quais as formas de pagamento?
Pix, boleto e em até 12x no cartão de crédito.
Preciso saber desenhar para assistir à aula?
Não é necessário nenhum conhecimento prévio em desenho ou caligrafia. Vamos ensinar todas as técnicas básicas de desenho de letras de forma modular.
Este é um produto Plau Design
En este taller, exploraremos la técnica del “lettering” desde un enfoque contemporáneo y dinámico: el “Lettering Variable”.
Duración: 24 horas
Fechas: 5, 6, 12 y 13 de abril de 2024
Horario: viernes de 16:30 a 20:30 y sábados de 10:00 a 14:00 y de 16:00 a 20:00 h.
Laura Meseguer, Bogidar Mascareñas, Ricard García
Estudio Pino en Poblenou
Passatge de Mas de Roda, 16
08005 Barcelona
Este taller está diseñado para diseñadores gráficos, entusiastas del lettering y cualquiera que busque llevar su creatividad tipográfica al siguiente nivel.
EUR 375
Castellano
No se requieren habilidades previas de lettering ¡solo una mente abierta y creativa!
Durante este taller, aprenderás las técnicas fundamentales del dibujo tipográfico y de la interpolación. Desde la anatomía de las letras hasta la composición, equilibrio y experimentación. Desde un concepto daremos movimiento al lettering a través de la interpolación. Esta nueva tecnología permite una gran variedad de posibilidades formales y experimentales.
En este taller, exploraremos y nos sumergiremos en las técnicas avanzadas de interpolación y expansión de familias tipográficas. Durante este taller, aprenderás a dominar la interpolación, un proceso que te permitirá crear transiciones entre diferentes pesos, anchos y estilos dentro de una familia tipográfica. Descubrirás cómo ajustar cada detalle para lograr un equilibrio perfecto entre coherencia y variedad.
Duración: 36 horas
Fechas: 26 y 27 de abril y 3, 4, 10 y 11 de mayo de 2024
Horario: viernes de 16:30 a 20:30 h y sábado de 10:00 a 14:00 y de 16:00 a 20:00 h.
Estudio Pino en Poblenou
Passatge de Mas de Roda, 16
08005 Barcelona
EUR 540
Castellano
En este taller, exploraremos y nos sumergiremos en las técnicas avanzadas de interpolación y expansión de familias tipográficas. Durante este taller, aprenderás a dominar la interpolación, un proceso que te permitirá crear transiciones entre diferentes pesos, anchos y estilos dentro de una familia tipográfica. Descubrirás cómo ajustar cada detalle para lograr un equilibrio perfecto entre coherencia y variedad.
Si y tienes una tipografía comenzada, puedes asistir a este taller con un solo peso de una familia y trabajar en su ampliación agregando nuevos pesos y estilos. Entenderás cómo mantener la cohesión estilística mientras experimentas con variaciones creativas.
Los temas que cubriremos incluyen:
Tipo-g te propone un curso de diseño de tipografía como un encuentro entre lo analógico y lo digital, entre la metodología y la experimentación, que te proporcionará una visión amplia y diversa de la mano de los mejores especialistas del sector.
Duración: 248 horas
Fechas: Del 9 de enero al 19 de junio de 2025 (fechas provisionales)
Horario: Martes, jueves, viernes de 16:30 a 20:30 h
Oriol Miró, Bogidar Mascareñas, Jordi Embodas, Ricard García, Laura Meseguer, Azza Alameddine, Ilya Ruderman, Ferran Milan, Joancarles Casasín, Noe Blanco, Carles Murillo, Álex Velasco, Elena Ramírez, Jesús Morentin, José María Ribagorda
El curso es presencial y se desarrollará en el espacio del estudio Pino en Poblenou.
Passatge de Mas de Roda, 16, 08005 Barcelona
El grupo será reducido y seleccionaremos de 8 a 10 estudiantes. Algunos contenidos teóricos se podrán impartir online. Las clases se imparten en catalán o castellano y algunas intervenciones de los colaboradores pueden ser en inglés.
Precio total del curso: 4.700 €
Catsellano y Catalán
Como estudiante, debes disponer de tu propio portátil, manejar de forma autónoma el «software» de diseño y estar familiarizado con algún editor de fuentes. Trabajaremos exclusivamente en entorno Mac.
Si quieres acceder a la selección, envíanos tu currículum y un porfolio lo antes posible (PDF 4-5 Mb) a info arroba tipo-g punto com y nos pondremos en contacto contigo después de evaluarlo. Dado que queremos reunir al mejor alumnado posible, recogeremos solicitudes hasta finales de noviembre. Es por ello que no daremos una respuesta definitiva de modo inmediato. Si necesitas una respuesta urgente háznoslo saber. ¡Pre-inscripciones abiertas!
En este curso vamos a diseñar una familia tipográfica como herramienta de comunicación y explorar el potencial de las «Variable Fonts» desde el campo experimental.
Arrancaremos con la elaboración de un briefing que nos ayudará a plantear el marco de trabajo, al que le seguirán un taller práctico de caligrafía que familiarizarán a los participantes con los fundamentos caligráficos que subyacen en la tipografía; y clases de bocetado mediante el dibujo de letras con diferentes herramientas. Estos talleres servirán para entender cómo las herramientas analógicas y digitales condicionan la estructura, forma y expresión tipográfica.
A partir de estas bases se proyectará, diseñará y producirá una familia tipográfica. Aprenderemos a mejorar nuestra capacidad conceptual y formal para introducirnos de lleno en la disciplina del diseño tipográfico y potenciar nuestro desarrollo profesional. Todo esto combinado con sesiones de contextos históricos y la exploración de los límites conceptuales y formales de la tipografía.
Una vez la familia esté suficientemente consolidada, en la asignatura de macrotipografía se trabajará en una pieza editorial en papel y en un especimen tipográfico para pantalla.
El curso se completará con una exposición abierta a todo el público.
Type Design Club adalah sebuah program gagasan antara Tegamitype Foundry dan The Public Case untuk memperkenalkan disiplin ilmu desain huruf secara praktikal. Program ini terbuka bagi semua yang tertarik untuk mendalami proses perancangan typeface. Tujuan dari program ini adalah untuk membekali peserta dengan ilmu, kemampuan dan pengalaman mendesain huruf agar dapat menerapkannya secara mandiri.
01 June to 14 September 2024
Iqbal Firdaus (Tegamitype)
Aditya Wiraatmaja (The Public Case)
Desainer Grafis, Pengajar, Mahasiswa DKV, atau siapapun yang tertarik untuk mempelajari dasar-dasar typeface design
IDR 5.500.000 for Public
IDR 5.000.000 for Early Birds
IDR 3.000.000 for Students
Indonesian
Prerequisites (prior knowledge, things to bring):
Type Design Club akan diadakan kembali tahun ini selama 14 minggu. Peserta akan diperkenalkan dengan teori-teori dan konsep dasar type design dimulai dari sketsa hingga implementasi akhir. Melalui sesi presentasi, tanya jawab, dan kritik (instruktur & tamu), peserta diajak untuk aktif terlibat dalam diskusi dan menerapkan langsung ilmu dengan merancang sebuah typeface yang fungsional.
See you at this year’s Desina conference, including a Type Design for Non-Type Designers workshop with Matteo Bologna! Hint: this is the most affordable edition of this workshop ever.
Friday 19 and Saturday 20 April, from 9:00 to 14:00
Matteo Bologna
Rainer Erich Scheichelbauer
Riot Studio
Via San Biagio Dei Librai, 39
80138 Napoli
Anyone interested in dipping their toes in type design.
EUR 50
English and Italian
italiano e inglese
No prior knowledge whatsoever necessary. Bring your MacBook with Glyphs 3 preinstalled.
t.b.a.
Go beyond choosing the same typefaces from the type menu to creating your own! In this two-day class, you will learn the basics of designing and generating a variable font with the font-design software Glyphs (Mac only).
On the first day, we will learn the basics of drawing a font, draw our first few letters, generate the font, and use it in an Adobe app or a web browser. Then we will add additional letters to the font, learn how to space them, add diacritics and punctuation.
On the second day, we will design a bold version of the same typeface, create a variable font—and make it animate in a web browser.
At the end of the class, you will not have a finished font, but a respectable start and a good understanding about how fonts are made. And maybe you’ll become a type design addict. You have been warned.
Saturday 20 April 2024
10:00–13:00
Zetafonts
FOQUS Fondazione Quartieri Spagnoli
italiano
Thursday 18 and Friday 19 April 2024
14:00 - 17:00
Valerio Monopoli
Fondazione Morra Greco
italiano
SAVE THE DATE: From zero to a hundred in two days: get a fun crash course in type design with Matteo Bologna and Glyphs evangelist Rainer Erich Scheichelbauer.
Sunday and Monday, 16 and 17 June, 2024
10:00–18:00, including a 1-hour lunch break
Matteo Bologna
Rainer Scheichelbauer
Cooper Union
Anyone interested in dipping their toes in type design. No prior knowledge whatsoever necessary. If you have used Illustrator before, that will make it easier for you.
t.b.a.
English
t.b.a.
In this two-day class, you will learn the basics of designing and generating a variable font with the font-design software Glyphs (Mac only). Go beyond choosing the same typefaces from the type menu to creating your own!
On the first day, we will learn the basics of drawing a font, generate the font, and use it in an Adobe app or a web browser. In the afternoon, we will add additional letters to the font, learning how to space them, add diacritics and punctuation.
On the second day, we will add more letters, design a bold version of the same typeface, create a variable font—and make it animate in a web browser.
At the end of the class, you will probably not have a finished font, but a respectable start and a deep understanding about how fonts are made. And maybe you’ll become a type design addict. You have been warned.
Glyphs 3.2 has arrived. The update makes Glyphs fully Sonoma-ready, contains significant changes in variable font production and sports hundreds of improvements across all parts of the app.
We are happy to announce the release of Glyphs 3.2, fully Sonoma-ready and packed with improvements throughout the app!
But before we dive into details, let me mention that Glyphs member Florian Pircher has been working on a new online version of the Glyphs handbook. The online handbook will always contain the most up-to-date info. PDF versions are derived from this. As a matter of fact, you can now always have the latest version of the handbook through this PDF download link.
We implemented major changes for the variable font workflow. In a nutshell, name your Roman variable font setting Regular
, and if you have your italics in a separate file, name its variable font setting Italic
. In the variable font settings, use font family names that are different from the static family name (in Font Info > Font), and you’re good. More details in the variable font tutorial.
Glyphs now does its best to keep masked paths compatible. So now you can keep your masks and export your subtracted shapes in a variable font without flattening the outlines first:
This is huge: the Disable Masters parameter now works in a variable font setting. This means that you can do real designspace subsetting. Axes not in use after master subsetting will be disabled automatically. If some of the preset instances fall out of the subsetted designspace, add a parameter called Ignore out of bounds instances. Remaining instances will be updated accordingly. And Glyphs will warn you if you get carried away and use Disable Masters to remove all masters.
Some filters now work as custom parameters in variable font settings, provided they treat each layer equally in order to maintain compatibility. For instance, Offset Curve, Round Corner and Transformations should work now. (Please don’t ask for Roughen, ahem.) Special trick: if you use the Round Corner filter as custom parameter, you can sneak in the keyword compatible
and Glyphs will attempt to round all masters in the same way:
Oh, and you can now add a number value token in the parameter value as well:
…which means that you can customize the radius per master, even though you define the parameter only once in the variable font setting.
Strokes now work, at least most of the time, in variable font exports. At least as long as the path structure is more or less the same between masters. Compatibility may fail in edge cases. So if you keep it sane, you can now export a stroke-based variable font. Cool. Speaking of strokes, their default miter limit now is a bit tweaked so that it is closer to what Adobe Illustrator does.
If you have been using Axis Mappings parameters, please read carefully: We had to change the way numbers are stored in the file. To be precise, we needed to reverse the internal and external numbers. If you open an old file in Glyphs 3.2, it will silently be ‘upgraded’ to the new storage format, which will break the file for older app versions. Why did we do this? To maintain compatibility with glyphsLib, read more about it in the online discussion.
However, we recommend switching to Axis Location parameters anyway. Why? They are more reliable in multiple-axis settings. Consider rereading the variable font tutorial for more details if you have not already.
STAT table generation is much better now. Not only did we improve determining AxisValue
names, we also fixed two STAT table issues: one where deactivated instances were still processed; and an issue specific to the Width axis, where the elidable name for the default axis position was not Regular
. Now it is.
In the General section of Font Info > Exports, we have a new property for instances:
variableStyleNames
): the style name of an instance used for the fvar
table in a variable font export. This can be useful when homonymous static instances are put in different families and would cause duplicates in the fvar
table.Sounds difficult? OK, let me give you an example. Say, your font family has a Weight and a Width axis, and you want to separate different widths into different static font families, let’s say Myfont for the normal widths and Myfont Condensed for the condensed widths. So you add a Family Names property to the condensed instances, call it Myfont Condensed. Of course, the style names of the static instances are twice Light, Regular, Medium, Semibold, Bold, Extrabold. So your variable font menu would have those style names twice as well. That is why you add a Variable Style Names property to the condensed instances, and call them Condensed Light, Condensed Regular, Condensed Medium, Condensed Semibold, Condensed Bold, Condensed Extrabold. Makes sense?
Further improvements with variable fonts (and more generally, interpolation) include:
One important note about Variable Fonts and Adobe. OTVAR support in recent versions of InDesign, Illustrator and other Adobe apps has been pretty buggy. If you are testing in Adobe apps, make sure you (and your clients) have updated to the latest app versions, because most OTVAR bugs have been fixed in the latest round of releases. For InDesign, that would be version 19.2. If you find your font to have awkward distortions in an Adobe app, or not change at all when you pull the slider, do another test in a web browser, e.g., on ABC Dinamo’s ingenious Font Gauntlet, or a tool like Font Goggles. If it works as expected there, but not in InDesign, you have stumbled across an Adobe bug. Let them know.
When you duplicate a shape by Option-dragging it, the shape will now snap into orthogonal constraints if you drag it close to orthogonality or if you hold down the Shift key.
Hold down the Option key while double-clicking a (blue) corner node, and the node will be turned into a (green) smooth node, but the adjacent handles will not be aligned. The same is true if you hold down Option while pressing the Return key when a node is selected. You can then proceed to Option-drag a handle to align just that handle to the opposing one.
After switching between glyphs by double clicking, the individual glyph selections are preserved now. Try it, you will love it …oh, did I mention selections? We fixed an issue with select-all cycling. When you pressed Cmd-A repeatedly, it would get stuck at one selection and not keep cycling between objects. If it did not work for you so well in version 3.1.2, give it another go. Also because we added an ‘all anchors and nothing else’ phase to the selection cycle.
Path > Align Selection (Cmd-Shift-A) will now also align anchors to each other. Aligning nodes and anchors now also works with the align buttons in the Transformations panel. Speaking of which, there was an issue with slanting in the Transformations panel (if you know, you know), which we fixed successfully.
When searching for glyphs by typing the character, the dialog will now also find unencoded alternates:
More commands are available for all masters or behave better with a larger selection. You can now right-click a path, hold down the Option key and choose Reverse Selected Contours in all Masters and Expand Outline in all Masters from the context menu. And you can select all paths in a glyph, closed or open, choose Close Open Paths from the context menu and all open paths get closed. The Decompose command in the context menu, useful for unnesting components by a level, is now available for all masters if you hold down your Option key.
We improved Tidy Up Paths For All Masters. For one thing, it will not break existing compatibility. And it will handle edge cases better, like duplicate nodes at the beginning of a path. Plus, you can fine-tune it with a hidden setting called GSTidyUpThreshold
, which tells Glyphs how much off a point can be and still be considered on the same line or same coordinate. The default is 0.005, we suggest to keep it within a range of 0.03 to 0.001. Needless to say, do this only if you find Tidy Up Paths too forgiving on a regular basis. For more flexibility, consider plug-ins like Clean Up Lines.
Now, locked guides are really locked cannot be deleted without unlocking them first. And deleting global guides is undoable now. Right-click a cropped image and you will now find Reset Crop in the context menu. It does exactly what it says.
A bunch of improvements for smart components: menu commands that apply to all masters now take smart layers into account. The Smart Component sidebar panel is bigger, resizable, and always shows all axes. And text fields are disabled as long as there is no property set up yet, so you don't accidentally add info to a non-existent property. Plus, you can safely use non-ASCII characters again for your smart axes.
The Glyph > Add Glyph (Cmd-Shift-G) dialog now sports improved autocompletion of glyph names, and it works again with a Pinyin keyboard. Our apologies if you have had issues with that.
A new GSClickTolerance
setting controls how precise you have to be when point-clicking an object in Edit view. Set it with the mekkablue script App > Set Hidden App Preferences or run something like Glyphs.defaults["GSClickTolerance"] = 5
in the Macro window.
By default, Glyphs now autosaves as .glyphspackage file, which is much faster. However, syncing services like Dropbox and Google Drive are easily overwhelmed by the .glyphspackage file structure. So, Glyphs sets a flag in the file system that should prevent autosaves from syncing. This exclusion mechanism works in iCloud and Dropbox. If you are using a syncing service that disrespects this setting or syncing to your Dropbox or iCloud still is slow despite our best efforts, you can switch Glyphs back to autosaving .glyphs files with the following line:
Glyphs.defaults["GSAutosaveAsSingleFile"] = True
Enter this in the Macro Window and press Run. Or pick GSAutosaveAsSingleFile
from the pop-up menu in Script > mekkablue > App > Set Hidden App Preferences.
In further news:
Filter > Round Corner has many improvements now. First, you can use negative values in the dialog for rounding inside corners only. This was a trick that used to be only accessible through the custom parameter, now it is directly available in the GUI:
The actions button in a filter dialog now sports a Copy PreFilter Parameter option:
It does the same as Copy Filter Parameter but puts a prefilter in your clipboard rather than a normal filter. Prefilters are filters applied before overlap removal.
More filter news:
Hold down the Option key while deleting a kerning pair in Window > Kerning (Cmd-Opt-K), and the same pair will be deleted in all masters at once.
If you have a Link metrics parameter set up in Font Info, and you find yourself spacing a CPAL font with the Text tool shortcuts (Ctrl- or Cmd-arrows), the spacing of the default layer is simultaneously applied to all Color Palette layers.
You can now sync metrics for brace layers: add an ==x
metrics key to the brace layer, where x
is the name of the containing glyph.
What’s more:
==X
in an X? Because that effectively disables a glyph-wide metric key in a multiple master setup.The search bar in Font view allows more than one word: type multiple particles with spaces in between, e.g., breve alt
, and it will find all glyphs that have both breve
and alt
in their name:
The glyph info dialog that comes up when you choose Edit > Info for Selection now sports Next and Previous buttons (again). Comes in handy when you need to step through a bunch of glyphs and adjust their infos.
A bunch of small but cool improvements in Edit view: Thanks to your feedback, we were able to dramatically improve zooming with a pinch gesture on a trackpad. View > Nodes > Show Node Labels toggles the display of node names. The Measurement tool (shortcut L) now measures against sidebearings when there are no intersections in other glyphs:
While we were at it, we also improved the drawing of the measurement line. No more glitches or drawing artifacts, FTW. And, when you temporarily activate the Hand tool by holding down the space bar, you can now continue to switch between masters (and press other keyboard shortcuts).
You can now drag categories into a new order in the Sample Text settings. Not sure why we had not thought of that before:
In the Start Window, you can now right-click an entry to open a context menu with Show in Finder and Remove from Recent:
Many more commands and actions have been added to Glyphs > Settings > Shortcuts, including aligning shapes or things like Make Node First and path operations like Reconnect Nodes in all Masters. You can even access Transformations buttons like Scale and Reverse Scale with keyboard shortcuts now:
You can drag to change the visible excerpt in Window > Preview Panel just like you have been doing it in the Preview area in Edit view. Also in the Window menu, you can now distinguish Font Info from the main window of a main window:
Oh, and in Sonoma, the instance pop-up menu in the Preview area kept acting up. It may have been just cosmetic, but it was still an ever so little nuisance, wasn’t it. Well, no more! It’s solid as a rock now:
Localizations, anyone? There have been a lot of small improvements for French, German, Spanish, Portuguese and Chinese localizations. Big thanks to everyone who contributed to the translations! Speaking of which, component placeholders (e.g., for empty or missing glyphs) are localized now:
We added a couple of hidden settings:
GSPreview_MoreSpaceAbove
and GSPreview_MoreSpaceBelow
: add extra space in the Preview area and Window > Preview Panel. Actually, this one is not that hidden, because you can right-click in the Preview area and choose More space above or below:
GSShowStrokePanel
: set it to 0
to suppress the display of the Stroke panel in the sidebar.GSAlwaysShowExportNotification
: force the appearance of that notification windowlet after every font export, not just those that take very long.GSFontViewMinIconSize
and GSFontViewMaxIconSize
: change the minimum and maximum sizes for glyph cells, defaults are 40 and 128.You can either trigger them with a quick line in the Macro Window, for example:
Glyphs.defaults["GSFontViewMinIconSize"] = 20
And reset them to their defaults again by deleting them:
del Glyphs.defaults["GSFontViewMinIconSize"]
… or you run Script > mekkablue > App > Set Hidden App Settings, the new entries are already listed in the script’s interface:
More improvements:
The age-old issue of mediocre OpenType support in Microsoft Office got another twist. Some time ago, we found out that Microsoft Office apps have a bug that causes them to ignore kerning if (a) there is kerning between unencoded glyphs, and (b) if the kerning is stored anywhere else besides in the first GPOS lookup. You can now force all your kerning into the first lookup by adding a custom parameter called Keep Kerning in one Lookup to File > Font Info > Font or Exports. This limitation also means that you cannot have contextual kerning or cap spacing, because those would constitute a different lookup type, which in turn would require additional lookups.
If you followed the above issues but still your kerning does not show in Office apps, try flattening your kerning into a pre-OpenType kern
table (don’t confuse with the OpenType kern
feature) and export your font as TTF. (That is because the kern
table is ignored in OTFs, because, well, there is no such thing as a pre-OpenType OTF, duh.) Flattening means that you break down all your group kerning into glyph-to-glyph pairs. For exporting the old kern
table, there is a hidden custom parameter called Export kern Table. It is hidden because it is not meant to be used in a modern OpenType font. You can do this also with the mekkablue script Kerning > Kern Flattener, which creates a disposable duplicate of your font, subsets its kerning, and adds parameters for forcing the export of a TTF with a kern
table. (See the ATypI Tech Talks presentation about Kern Flattener.)
Needless to say, do this only for fonts that are used exclusively in Microsoft Office apps. The above are hacks that really break your font for the benefit of making them work for Word and PowerPoint users.
The auto-generated ccmp
code has many improvements, most notably for Thai, and for soft-dotted Latin letters such as i
and j
, with special attention to smallcaps. We also fixed some Devanagari feature code issues, and improved Runic feature code generation. All this thanks to your contributions!
The Update button in Font Info > Features will properly update classes again. Sorry for any inconveniences you had.
Glyphs will now always add languagesystem arab
to the feature code as soon as there are any Arabic glyphs in the font. (Thank you Andreu!) Speaking of which, we also fixed an issue with Arabic ligature code, especially when there are glyphs involved that are only joining on their right.
And you can get an automatic locl
feature with multiple-language code if you use a .loclXXXYYY
extension in the glyph name, where XXX and YYY are two different language codes.
Yes, there’s more:
.sups
) are preferred over encoded ones (e.g., onesuperior
)..case.narrow
compositions, you can now press Ctrl-Cmd-C again without any fear.lookupflags
from a previous lookup anymore. This fixes issues with context anchors messing with following lookups, and some edge cases in ccmp
.language dflt required
).mark
and mkmk
.@Uppercase
class is not overwritten anymore.Glyphs will now separate anchors into different lookups. This allows, for example, both anchors _bottom
and _cedilla
in cedillacomb
, and you only need a cedilla
anchor in the base glyphs where you need it to be different from the bottom
anchor.
Anchor context code now supports the new &
placeholder for the mark, just like the asterisk *
is the placeholder for the base letter. You may need this in (admittedly, rare) cases where you have to specify additional context glyphs between base and anchor. To facilitate this, there is a new placeholder now: &
for the mark whenever base and mark are not following each other directly. An example. For anchor *bottom
in glyph X, the anchor context AAA * BBB & CCC
will produce the code:
pos AAA base X BBB <anchor 300 0> mark @mark_bottom CCC;
The glyphs AAA, BBB and CCC are context glyphs in this example, and BBB will typically be another mark that interferes with the mark you are connecting to the bottom anchor. If the bottom mark for X is entered between BBB and CCC (or reordered by ccmp
or the shaping engine), the bottom anchor will shift to x=300 in this example.
You can add a lookupflag to mark context. E.g., if you only want a mark filtering set for top anchors, prefix your mark context with lookupflag UseMarkFilteringSet @CombiningTopAccents
, followed by a semicolon. For the full picture, here is a spelled-out example: lookupflag UseMarkFilteringSet @CombiningTopAccents; C *
will only apply to top accents after a C
.
And yes, there is more to it:
base
keyword was in the wrong place).Just between you and me, in the File > Font Info (Cmd-I) and File > Export… (Cmd-E) dialog windows, you can switch between tabs with Cmd-1, 2, 3, etc. now.
There is a new setting in File > Font Info > Other called Font Type. It primarily determines how interpolation for static fonts works. Default means that the interpolation works like it always did, according to the Adobe MM interpolation model. Variable means that static font instances will be calculated based on coefficient deltas just like variable fonts are. Try the latter setting if you experience too much of a discrepancy between static and variable exports. Use the Default setting to stay as close as possible to legacy versions of your font project. Careful, however, because in its current implementation, it is still somewhat experimental.
In the include:
and exclude:
extensions of Filter and PreFilter parameters, you can now add wildcards and category searches like *.ss01
or script=cyrillic
, just like you already did in the custom parameters with glyph name lists.
Additional to the wildcard and category searches described above, in the subsetting parameters Remove Glyphs and Keep Glyphs, you can now use predicate tokens for defining a whole bunch of glyphs. See the Tokens tutorial for details on predicate syntax.
The CJK Grid parameters is working again for Japanese glyphs.
There is a bunch of new custom parameters. Apart from the ones we covered above already, you now also get the following ones:
vmtx
table. Can be useful if you added top and bottom sidebearings but want to export for horizontal typesetting only.STAT
table of variable fonts, adds a Format 3 (style linking) AxisValue
for the Italic axis, linking the Regular ital=0
to the Italic ital=1
. Should not be added to (exclusively) italic fonts. Use this parameter for forcing or suppressing the style linking rather than relying on the built-in automation.And we improved a bunch of existing custom parameters:
Now, Fit Curve works with TrueType for the first time. At the moment, it only supports the special case two offcurves in a segment. And the Fit Curve value are oriented after what the PostScript segment would do, so that Ctrl-Opt-5 forms a TT segment as close as possible in appearance to a PS segment with the same shortcut. That means that Fit Curve now allows for values beyond 100%. For TT offcurves intersecting, you need a percentage of 133.3. Hence, 134% is the new max value supported. To give you an impression of what all this means, here is a side-by-side comparison of Fit Curve from 56% to 134% for a TT and a PS circle:
And because TT handles at 133.3% share the same coordinate and thus form a perfect corner, this special case is accounted for especially.
Apart from the above TrueType improvements, we were able to improve TT hinting:
Speaking of hinting, we also improved the blueScale parameter for PostScript hinting. It now stores (and retains) all decimals you type in. Under some circumstances, the value got rounded during the writing of the .glyphs file. No more.
Hints, both PS and TT, can now be copied and pasted more easily. This allows for an alternate workflow where you can repeat the same instruction without repeatedly bringing up the hinting menus.
And there are two new parameters for controlling the export of hints: Export TrueType Hints and, you guessed it, Export PostScript Hints, which can be used to suppress all hints being written into the exported TT file, be it manual or auto hints. Previously, for TT hints, the only way to make sure there were no hints in the exported TTF was to add a TTFAutohint Options parameter and turn on its Dehint option. Kind of a hack though. For CFF exports, there was no way to export without any hints if there were manual hints present in the file. Well, now there is.
In GlyphData.xml, you can now override default positions of anchors for individual glyphs. You can use these codes:
minY
and maxY
: bottom and top edges of the bounding boxminX
and maxX
: left and right edges of the bounding boxcenterX
and centerY
: horizontal and vertical centers of the bounding boxwidth
: the advance width of the glyph (or right sidebearing)descender
, baseline
, ascender
: vertical metricsYou can add one math operation with any of these operators: +-/*
, followed by an integer or floating point number like 20
or 0.7
. Separate x and y operations with a semicolon, the order of which does not matter. Examples:
bottom@maxX
: bottom anchor on the baseline but moved to the right edge of the bounding box.ogonek@baseline;maxX
: at baseline, to the right._top@centerX+20
: top connecting anchor, shifted 20 units towards the right.ogonek@baseline+5;maxX-10
: ogonek@baseline+5;width*0.7
: ogonek anchor positioned at 5 units above baseline, 70% of the width Glyphs will first calculate the default positioning and then apply the extra keys. So you only need to specify what you want to change. Needless to say, we tried to set a good example and updated default anchor positions in Basic Latin, e.g., in d
, h
, B
and H
.
More GlyphData improvements include:
GlyphData.xml
file next to the .glyphs
file, just like it does inside the Info
folder in Application Support.softhyphen
, it is now zero-widthed and empty. Thanks to the fontbakery users out there for pointing this out to us.ordfeminine
and ordmasculine
are now cased as Minor, allowing for vertically shifting components by default. Useful if you populate them with components of lowercase a
and o
.Lots of minor improvements happened for importing and exporting data. For one thing, we were able to fix a couple if issues when importing existing variable fonts.
Zones and stems are preserved better from existing .otf and .ttf files. Feature code is preserved much better during an import, even if the GSUB table is damaged or technically invalid. Reverse engineering of feature code works better for CFF OpenType fonts. And we took a stab at importing the mark
feature from a compiled font.
Hot-linking a second file with the Import Font parameter works better now. We fixed a handful of feature code issues for imported glyphs, so automating features with hot-linked .glyphs files should work smoothly now. And, we improved the Import Master parameter as well: we fixed switching through imported masters with View > Navigation > Previous Master and Next Master.
We managed to squeeze in a few improvements for exporting and importing color fonts:
And a whole chain of improvements for exporting and importing UFO: The biggest news is that we are finally syncing UFO export with what glyphsLib does. Still a work in progress, though, so do not expect miracles (yet).
.designspace
files are now imported as brace layers$[]
tokens when exporting UFOsuserData
of guides (and preserve UFO guides info)anchor.context
into public.objectLibs
where it belongsMore Import/Export news:
cvXX
parameter namesGSUB
during import of .otf filesGPOS
table for variable fontsGPOS
features: Glyphs will export all kerning even if there is no # Automatic Code
in a manual kern
feature. Previously, the manual kern
would replace (rather than compliment) the kerning from Window > Kerning.hhea.caretSlopeRise
and hhea.caretSlopeRun
componentMasterId
Everybody uninstall and reinstall their Python module via Window > Plugin Manager > Modules. You will get Python 3.11, including PyObjC
, brotli
and zopfli
, so you can do post production. In the meantime, Python 3.12 got out. Glyphs supports it too now, if you use your own custom installation of Python in Glyphs > Settings > Addons. Do not forget to install PyObjC and other necessary modules if you do so.
We improved Window > Macro Panel. Firstly, there are way more autocomplete keywords available while typing code. And secondly, you can now minimize the window with the yellow button. (Of course, you can also still toggle its display with Cmd-Opt-M.) And we added a user default GSMacroWindowAllowNoneAsciiInput
, which, if set to False
, will only allow you to type good old 7-bit ASCII. The default key is added to the Hidden Settings mekkablue script.
Speaking of which, there is a new boolean user default IgnoreRecentScriptInvokedByKeyboard
which may improve your life significantly if you use keyboard shortcuts for scripts in the Script menu. If it is turned on (set to 1
or True
), the Cmd-Opt-R shortcut for repeating the most recent script will only be used for scripts that were mouse-picked from the menu. Scripts that were triggered with a keyboard shortcut (or opened through the Help menu) will not change the Script > Run:… entry.
For debugging, you can now press Cmd-Opt-Shift-M to invoke a floating console window (or hold down Shift and pick Window > Floating Macro Console), which, contrary to the conventional Window > Macro Panel, even stays visible when the app is in the background:
We changed the behavior of tab.layers
(where tab
is an Edit view tab) to return the layers actually visible in the tab, and we added a setter for tab.layersCursor
. But be careful to set it within the range of the visible layers. Here is a code sample that moves the cursor gracefully, note the modulo operator %
:
def moveCursorInTab(tab, move=1):
newPosition = (tab.layersCursor + move) % (len(tab.layers) + 1)
tab.layersCursor = newPosition
moveCursorInTab(Glyphs.font.currentTab, 1)
We added PickGlyphs()
to the Python wrapper: PickGlyphs(content, masterID, searchString, defaultsKey)
so you can have you user pick a glyph. content
is a list of GSGlyph
objects, masterID
the ID of a font master, and a str
as search string. Here is an example:
font = Glyphs.font
choice = PickGlyphs(
list([g for g in font.glyphs if g.case == GSUppercase]), # must be a list of GSGlyph objects
font.selectedFontMaster.id,
"circumflex",
)
print(choice)
… which will give you a glyph picker dialog that pre-populates the search field with the searchString
you specified:
And as a result you get a tuple of two things: a list of your selected GSGlyph
objects, and your search string:
([<GSGlyph 0x2a89629b0> Acircumflex, <GSGlyph 0x2a99a4290> Ecircumflex], 'circumflex')
Alternatively, you can specify a fourth argument, defaultsKey
, which stores the search string the user types in a preference with that key, e.g.:
font = Glyphs.font
choice = PickGlyphs(
list(font.glyphs),
font.selectedFontMaster.id,
None,
"com.mekkablue.GlyphMangler.search",
)
If you specify a defaultsKey
, the third argument, searchString
, will be ignored. The return value is the same tuple as above, but this time, you can query and overwrite the search string with the defaults key:
print(Glyphs.defaults["com.mekkablue.GlyphMangler.search"]) # yields whatever the user typed in last
There is a new object called Glyphs.colorDefaults
which allows you to override all kinds of UI colors, provided you know the pref name for the color in question. The defaults take NSColor objects as values. E.g., if you wanted to change the grey component color, you could do it like this:
from AppKit import NSColor
myColor = NSColor.colorWithRed_green_blue_alpha_(.8, .5, .2, .4)
Glyphs.colorDefaults["GSColorComponent"] = myColor
Here’s the list of currently supported pref names:
GSColorBackgroundCanvas
GSColorBackgroundCanvasDark
GSColorBackgroundStroke
GSColorBackgroundStrokeDark
GSColorCanvas
GSColorCanvasDark
GSColorComponent
GSColorComponentLocked
GSColorComponentAligned
GSColorComponentHorizontalAligned
GSColorComponentDark
GSColorComponentLockedDark
GSColorComponentAlignedDark
GSColorComponentHorizontalAlignedDark
GSColorForeground
GSColorForegroundDark
GSColorGridMain
GSColorGridMainDark
GSColorGridSub
GSColorGridSubDark
GSColorKerningNegative
GSColorKerningNegativeDark
GSColorKerningPositive
GSColorKerningPositiveDark
GSColorNodeCorner
GSColorNodeCornerDark
GSColorNodeSmooth
GSColorNodeSmoothDark
GSColorOtherLayersStroke
GSColorOtherLayersStrokeDark
GSColorZones
GSColorZonesDark
The ones that end in Dark
are the variants for Dark Mode. Make sure you pick a more subdued, less screaming color, and brightness-wise, expect an inverted (white on black) environment. GSColorForeground
and GSColorForegroundDark
are (a) the colors of the paths while being edited, as well as (b) the fill color of the glyphs when you are typing with the Text tool (shortcut T). I think all the others are pretty self-explanatory.
For reporter plug-ins, we added a drawing API for Font View cells
self.drawFontViewBackgroundForLayer_inFrame_(layer, frame)
self.drawFontViewForegroundForLayer_inFrame_(layer, frame)
… where frame
is the NSRect
that represents the glyph cell. Use this as reference for any drawing you want to do in the cell (e.g. a dot or a symbol). Foreground
and Background
mean that you draw in front of or behind the image of the glyph.
For reference, I implemented it in the Show Component Order plug-in, and in the Show Export Status plug-in. The former also contains a useful function called fitLayerInFrame()
, which helps scale the content of the layer into the cell the same way Glyphs does it. Comes in handy if you want to draw over the shapes of the glyph. We are discussing a convenience function for the future.
And we have something for drawing in the Preview area as well:
self.drawBackgroundInPreviewLayer_options_(layer, options)
self.drawForegroundInPreviewLayer_options_(layer, options)
self.needsExtraMainOutlineDrawingInPreviewLayer_(layer)
The variants for Background
and Foreground
are, like above, for drawing in front or behind the main outline. The argument options
is a dict
passed to the function, containing two keys for now:
options["Scale"]
is a float
representing the scale factor, similar to self.getScale()
elsewhere, but exclusively for the preview in question. Use this for line widths that need to stay the same on the screen, no matter what the user scales the preview to. E.g., lineWidth = 1.0 / options["Scale"]
always gives you one pixel thickness.options["Black"]
is a bool
representing the inverse setting in the Preview area: True
if it is white type on black background, False
if it is black type on white background. You may want to choose different color depending on context.If you add a needsExtraMainOutlineDrawingInPreviewLayer_()
function to your reporter, and it returns False
, then Glyphs will not draw anything and leave it all to you.
More scripting news:
GSPathSegment
GSGradient
to python wrapperdrawingTools
Python APIGSComponent.automaticAlignment
GSFont.newTab()
, sorry about the issues you may have run intocountOfUserData
GSBackgroundImage
wrapperGSInstance.active
: it always gives you the updated value nowGSElement.orientation
allows accessing the clockwise or counterclockwise orientation of componentsGSGlyph.color
to None
for deleting the assigned glyph colorAnd, last but not least, we cleaned up the code samples on docu.glyphsapp.com. Sorry for any inconvenience you may have had in recent weeks.
Alright, this is it, have fun with Glyphs 3.2! Needless to say, there have been countless small improvements, too many to mention. Though here are a few at least, so you get a picture:
origin
anchorAnd a bunch of improvements specifically for color fonts:
currentColor
for SVG from color layers… and before I let you go, here are some more news.
At the beginning, I already mentioned the new online handbook. That is not the only thing new in the world of documentation, though. We completely rewrote the tutorial about corner components. So it is a good time to revisit Reusing shapes: corner components if you have not already.
Quite a few tutorials have received updates and upgrades. You may want to take a look at these for updated content:
Remember there is a little change log at the bottom of each tutorial that tells you what’s new.
The mekkablue scripts received a huge overhaul. Some things may not work as they used to. If you find something, please do say something in the forum or on the issues page.
Barcelona-based designers Àlvaro Franca and Felipe Casaprima added the script collection of their Naipe Foundry to Window > Plugin Manager. Check out their color font scripts. And Copenhagen-based Andreas Rasmussen did the same thing with his scripts, and he has one that exports all open fonts at once. That’s cool, thank you guys!
There was a compatibility issue with the beloved SuperTool by Simon Cozens. It works again as it should.
Recent additions to Window > Plugin Manager include the following plug-ins:
UnnestComponents
in the filter value.Further above, I mentioned the Python module in Window > Plugin Manager > Modules already, but many more scripts and plug-ins received updates. See Florian Pircher’s genius Glyphs Extensions Newsfeed for an overview of the most recent updates, and bookmark it right away if you haven’t already. Speaking of which, Florian also maintains the Glyphs Scripts Index, a full-text search for all scripts available in Plugin Manager.
OK, way too many to mention, but we have the highest number ever of classes and workshops coming up, both online and in person, including workshops in Milan, Naples, Barcelona, Paris and Berlin. Online classes include new editions of Practica Devanagari, ILT Font Engineering, the Indonesian-language Type Design Club, and the all-new Brazilian FontePro by the wonderful people from Plau.
Head on over to the Events section for more details. And check back soon, because there are more events in the pipeline.
Thanks for reading. Stay sane, stay safe, everyone.
Este taller va dirigido a diseñadores de tipos que quieran mejorar de forma eficiente su flujo de trabajo aplicando la programación en Python para resolver tareas repetitivas. Comprenderás el uso de Python dentro de Glyphs, generando scripts que resuelvan tareas reiterativas dentro del flujo de trabajo. Aprenderás los principios básicos de Python para que puedas comenzar a realizar tus propios scripts. Ta-daa!
5 sesiones de 2 horas
6–20 de mayo, lunes y jueves
12 a 2 pm (Hora del centro de México)
Elí Castellanos (Cocijotype Foundry)
Dirigido a diseñadores de fuentes con experiencia mínima en diseño de caracteres tipográficos.
EUR 360
Castellano
Un Mac con Glyphs y DrawBot
Por PayPal. Si estás en México te podemos ofrecer otros métodos de pago, comunícate con nosotras a plus arroba tipastype punto com.
Sesión 1: Introducción al taller y la API
print()
return
len()
range()
y operadores matemáticosSesión 2
Sesión 3: Iteraciones
Sesión 4: Condiciones
Sesión 5: Funciones