Quantcast
Channel: Glyphs News & Events

24–27 julio 2024: TypeCon 2024

$
0
0

TypeCon is the conference for everyone who loves type & lettering.

SAVE THE DATE:
July 24–27, 2024

More details to follow soon, stay tuned.


28 marzo–5 julio 2024: FontePro 2024

$
0
0

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.

FontePro: curso de criação de fontes

  • When?

    De 28 de março de 2024, até 5 de julho de 2024

  • Who?

    Carlos Mignot, Plau

  • How much?

    R$ 2200 (Pix, boleto e em até 12x no cartão de crédito.)

  • Language

    Português

  • Prerequisites

    Um Mac com boa conexão à internet e Glyphs 3 pré-instalado.

  • Links

    Todas as informações adicionais e registro

Do A à Z e muito mais.

  • Aulas gravadas com acesso por dois anos
  • Acesso à comunidade no Discord
  • Cinco mentorias coletivas quinzenais sobre alguns projetos da turma
  • Licença de testes por 3 meses do GlyphsApp exclusiva do FontePro
  • Materiais complementares inéditos
  • Divulgação dos melhores projetos nas redes sociais da Plau
  • Domine a habilidade de criar fontes e mude seu portfólio de patamar

Um curso completo, letra por letra, com todas as etapas de criação de fonte:

  • 6 horas de conteúdo, cobrindo todas as etapas de criação de uma fonte
  • 5 mentorias coletivas quinzenais ao vivo no grupo exclusivo do Discord
  • 2 turmas por ano com apenas
  • 100 vagas por turma

Conteúdo

  1. Introdução ao curso
  2. Sobre o curso
  3. Estudos de caso
  4. Como a tipografia pode transformar sua carreira
  5. Tipografia descomplicada
  6. Breve história da tipografia
  7. Teoria tipográfica
  8. Processo de typedesign
  9. Introdução ao GlyphsApp
  10. Introdução ao programa
  11. Plugins e scripts
  12. Técnicas de vetorização
  13. Entendendo estilos
  14. Desenhando Sans, Geométrica e Grotesca
  15. Criação da fonte
  16. HOho
  17. nmur
  18. aces
  19. bdpqg
  20. ilftj
  21. kvwxyz
  22. Revisão caixa baixa
  23. IEFLT
  24. CGDQS
  25. BPRUJ
  26. AVWMNXYKZ
  27. Revisão caixa alta
  28. Numerais
  29. Numerais tabulares e proporcionais
  30. Acentuação
  31. Pontuação
  32. Caracteres especiais
  33. Revisões finais
  34. Kerning
  35. Recursos avançados
  36. Múltiplas masters
  37. Divulgando sua fonte
  38. Conceituação
  39. Naming
  40. Specimen
  41. Marketplaces
  42. Licenciamento
  43. Revivals
  44. Colaborações
  • Desenvolva pré-requisitos de um mercado sólido e em franca ascensão
  • Aprenda com profissionais premiados internacionalmente
  • Interaja com instrutores e colegas de turma ao desenvolver projetos

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

5–13 April 2024: tipo-g Lettering Variable

$
0
0

En este taller, exploraremos la técnica del “lettering” desde un enfoque contemporáneo y dinámico: el “Lettering Variable”.

Taller: Lettering Variable

  • When?

    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.

  • Who?

    Laura Meseguer, Bogidar Mascareñas, Ricard García

  • Where?

    Estudio Pino en Poblenou
    Passatge de Mas de Roda, 16
    08005 Barcelona

  • For whom?

    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.

  • How much?

    EUR 375

  • Language

    Castellano

  • Prerequisites

    No se requieren habilidades previas de lettering ¡solo una mente abierta y creativa!

  • Links

    All info and registration

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.

26 April–11 May 2024: tipo-g Interpolación y expansión de familia tipográfica

$
0
0

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.

Taller: Interpolación y expansión de familia tipográfica

  • When?

    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.

  • Where?

    Estudio Pino en Poblenou
    Passatge de Mas de Roda, 16
    08005 Barcelona

  • How much?

    EUR 540

  • Language

    Castellano

  • Links

    All info and registration

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:

  • Interpolación de Pesos y Estilos: Aprenderás a utilizar herramientas avanzadas para crear transiciones fluidas entre diferentes variaciones.
  • Expansión: Exploraremos estrategias para agregar nuevos pesos y estilos a una familia tipográfica existente.
  • Herramientas y Software: Conocerás las herramientas esenciales y los programas más utilizados en el diseño tipográfico.
  • Aplicaciones Prácticas: Aplicaremos lo aprendido en ejercicios prácticos para que puedas experimentar con tus propias creaciones tipográficas.

9 January–19 June 2025: tipo-g Curso de diseño de tipografía 2025

$
0
0

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.

Curso de diseño de tipografía. Del boceto a «Variable Fonts». Edición 2025

  • When?

    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

  • Who?

    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

  • Where?

    El curso es presencial y se desarrollará en el espacio del estudio Pino en Poblenou.
    Passatge de Mas de Roda, 16, 08005 Barcelona

  • For whom?

    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.

  • How much?

    Precio total del curso: 4.700 €

  • Language

    Catsellano y Catalán

  • Prerequisites

    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.

  • Registration

    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!

  • Links

    Más información y registración

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.

1 June–14 September 2024: Type Design Club 2024

$
0
0

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.

Type Design Club 2024

  • When?

    01 June to 14 September 2024

  • Who?

    Iqbal Firdaus (Tegamitype)
    Aditya Wiraatmaja (The Public Case)

  • For whom?

    Desainer Grafis, Pengajar, Mahasiswa DKV, atau siapapun yang tertarik untuk mempelajari dasar-dasar typeface design

  • How much?

    IDR 5.500.000 for Public
    IDR 5.000.000 for Early Birds
    IDR 3.000.000 for Students

  • Language

    Indonesian

  • Prerequisites

    Prerequisites (prior knowledge, things to bring):

    • Mengerti dasar tipografi
    • Pengalaman menggambar dengan bézier curves atau pen tools (adobe illustrator)
    • Perangkat Mac dengan glyphs 3 yang telah terinstall
    • Drawing tools: pencil, pen, eraser, sharpie/black marker, paper.
  • Links

    https://www.typedesignclub.com/

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.

18–21 April 2024: DESINA 2024

$
0
0

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.

Workshop: Type Design for Non-Type Designers

  • When?

    Friday 19 and Saturday 20 April, from 9:00 to 14:00

  • Who?

    Matteo Bologna
    Rainer Erich Scheichelbauer

  • Where?

    Riot Studio
    Via San Biagio Dei Librai, 39
    80138 Napoli

  • For whom?

    Anyone interested in dipping their toes in type design.

  • How much?

    EUR 50

  • Language

    English and Italian
    italiano e inglese

  • Prerequisites

    No prior knowledge whatsoever necessary. Bring your MacBook with Glyphs 3 preinstalled.

  • Registration

    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.

Workshop: Lettere dalla cenere – dall’archeologia pompeiana al type digital

  • When?

    Saturday 20 April 2024
    10:00–13:00

  • Who?

    Zetafonts

  • Where?

    FOQUS Fondazione Quartieri Spagnoli

  • Language

    italiano

Workshop: Gotta sketch’em all!

  • When?

    Thursday 18 and Friday 19 April 2024
    14:00 - 17:00

  • Who?

    Valerio Monopoli

  • Where?

    Fondazione Morra Greco

  • Language

    italiano

16–17 June 2024: Type Design for Non-Type Designers at Typographics 2024

$
0
0

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.

Workshop: Typeface Design for Non-Type Designers

  • When?

    Sunday and Monday, 16 and 17 June, 2024
    10:00–18:00, including a 1-hour lunch break

  • Who?

    Matteo Bologna
    Rainer Scheichelbauer

  • Where?

    Cooper Union

  • For whom?

    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.

  • How much?

    t.b.a.

  • Language

    English

  • Prerequisites
    • Bring your MacBook with Glyphs 3 preinstalled.
    • No prior experience is required in font design, but some experience with Bézier-based vector drawing tools is useful.
  • Registration

    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 released

$
0
0

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!

Online handbook

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.

Variable fonts

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:

  • Variable Style Names (or short 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:

  • Fixed corner components in variable font export. They will work exactly the same in static and variable font exports, including width and height intermediates. See the corner component tutorial for details.
  • Improved brace layer handling (even if stored data is malformed or their design-space position was out of bounds).
  • In Font Info > Exports, copying and pasting variable font settings works as expected now.
  • Improved handling and validation of axis tags, especially for custom axes.
  • Fixed calculation of middle masters when exporting variable fonts.
  • Fixed variable GPOS and feature variations.
  • Fixed drawing of anchors in View > Show Master Compatibility with more than one layer group.
  • Fixed an issue where Re-Interpolate was not working as it should when regular backup layers were present.
  • Fixed an issue with interpolating glyphs with partially aligned components and some specific metrics keys.
  • Improved calculation of spacing for brace and bracket layers in composite glyphs (including italic metrics keys).
  • Fixed misalignment of components that contain brace layers when alignment is disabled in the font
  • Fixed decomposition of bracket layers from non-exporting glyph

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.

Editing

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:

  • When you delete an anchor or a component, the next one will automatically be selected (similar to what it is like for nodes already), so you do not have to go back and forth between keyboard and mouse all the time.
  • The mark cloud now works with single-letter anchors. Glyphs used to do an unnecessary sanity check on the anchor name, but no more.
  • Speaking of which, the mark cloud will now also be shown in composite glyphs.
  • Minor improvements for the Rotate tool (shortcut R).
  • Minor improvements for Path > Correct Path Direction (Cmd-Shift-R).
  • Edit > Clear now works in the Edit view, and if you hold down the Option key, Clear All Masters will work much better now.
  • Fixed boolean path operations, especially intersecting paths.
  • Glyphs will actively prevent duplicate glyph names due to finding and replacing (Cmd-Shift-F).
  • Glyphs will always show orphaned corner components (corner components that point to a glyph that no longer exists), that way you can easily select and remove them.
  • Many small improvements for undo, e.g., undo is suppressed for File > New from Glyph Set…
  • For avoiding unwanted aligning, components would not align if there were too many of them. We removed this limit because we encountered too many edge cases in support.
  • Improved the handling of glyphs with many (20+) components, especially moving components.
  • Improved the handling of cap components, especially when they are placed on the beginning of stroked paths, and when they are pasted onto extra nodes.
  • Fixed Opt-moving nodes when the node is at 45 degrees.

Filters

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:

  • The Shape Order dialog will not force component alignment anymore.
  • Removed the radius limit in the Round Corner filter.
  • In the Hatch Outline filter, we fixed a case where some lines were dropped. This used to happen occasionally with particularly wide shapes. Now no more.
  • Under certain circumstances, some filters would not show a preview. This is fixed now.
  • All built-in filters have undergone improvements, and will, e.g., better respect your selection now.

Spacing & Kerning

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:

  • In Edit view, the kerning UI (the kern indicators in the grey info panels) will not display if the adjacent glyph belongs to a different master.
  • Inserting pairs with the Kerning window (Cmd-Opt-K) works better now, and removing a lot of pairs at once does not bring app performance to its knees anymore.
  • Some issues with the kerning in variable fonts, especially in RTL kerning, have been fixed.
  • The Use Extension Kerning parameter now works with custom feature orders.
  • When saving a file, Glyphs make sure to run the auto-alignment now. This will reduce the occurrences of the dreaded Changed Metrics dialog that pops up when you open a file.
  • Self-referencing metrics keys, i.e., metrics keys that point to the very glyph they are used in, are exempt from interpolation. Why would you use ==X in an X? Because that effectively disables a glyph-wide metric key in a multiple master setup.
  • For empty glyphs, metrics key warnings are now ignored.
  • Improved filtering in Window > Kerning, e.g., we fixed an issue where you would filter for the right side, but got results for the left side.

User Interface

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:

  • When you change your Edit view settings, inactive tabs will be updated as well
  • Improved Add Master and Add Font dialogs
  • Fixed an update issue in the Dimensions palette
  • Fixed the sidebar filter for glyph color not set
  • Fixed Use as Master in Layers panel
  • Fixed Master Background Color custom parameter
  • Palette windows are better retained in their height, so they, well, stay on the screen even when they carry too much content
  • Sidebars in Font view are more reactive when selection changes
  • The Glyph > Add Glyphs… window now adapts better to large quantities of recipe text
  • The window for Filter > Shape Order has a better default width and does not cut off any content anymore
  • List filters in Font view (and the Glyph > Add Glyphs… dialog as well) now allow single character strings (thanks Moshik)

Microsoft compatibility

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.

Feature code

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:

  • When auto-generating any of the small-figure features (denominators, numerators, superiors and inferiors), glyphs with dot suffixes (e.g., .sups) are preferred over encoded ones (e.g., onesuperior).
  • Fixed .case.narrow compositions, you can now press Ctrl-Cmd-C again without any fear.
  • Fixed Nutso2 vertical fraction code.
  • Feature code will not inherit the lookupflags from a previous lookup anymore. This fixes issues with context anchors messing with following lookups, and some edge cases in ccmp.
  • Disabled features are now ignored properly, especially when indicating code errors.
  • Fixed interaction of manual and automatic feature code.
  • Improve some details with the feature code compiler (e.g., allow language dflt required).
  • Feature code is written to the file with line breaks, which makes a lot of sense in version control.
  • Better error messages for class names that contain spaces.
  • The custom parameter Remove Features now also applies to mark and mkmk.
  • Features are now sorted alphabetically in the exported Feature Table, as they should be.
  • Manual code in the @Uppercase class is not overwritten anymore.
  • Improved Undo in Features editor (and the Macro window as well).
  • Fixed interpretation of small-cap ligature names

Improved mark feature

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:

  • If you enter a lot of text in the anchor context field (the one for contextual mark positioning), it will autoresize now.
  • Fixed generation of context mark positioning rule (the base keyword was in the wrong place).
  • Fixed problem with class references in anchor contexts.
  • Fixed issue with marks in ligatures in combination with certain anchors.

Font Info

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.

  • We fixed and improved Font Info operations like Scale to UPM, Add instance for each Master, and Virtual Masters.
  • Fixed the pesky Font Info window opening when you opened a .glyphs file. If you know, you know.
  • Fixed handling of duplicate entries (and their accidental duplication) in Font Info.

Font type

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.

Custom parameters

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:

  • The new Prevent Name ID parameter suppresses a name table entry with the ID that you specify as the parameter’s value.
  • Add an Export vmtx Table custom parameter for forcing or suppressing the generation of a vmtx table. Can be useful if you added top and bottom sidebearings but want to export for horizontal typesetting only.
  • Italic Style Linking (in variable font settings only): In the 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.
  • Ignore custom GlyphData file: If set, will ignore the content of a GlyphData.xml next to the .glyphs file, or in an Info subfolder next to the .glyphs file. (Careful, this one is not listed in the UI because it is only for very specific edge cases. So you will have to paste the exact string in the custom parameter dialog.)
  • Fit Curve Panel Settings: Use this parameter to store the minimum and maximum percentages for the Fit Curve panel in the right sidebar. As parameter value, use two numbers, separated by a comma, e.g., ‘57, 72’. Once set, the parameter value will pick up changes you make in the Fit Curve UI. This is useful for storing project-specific values.
  • Export TrueType Hints and Export PostScript Hints allow you to selectively suppress the generation of (manual) hints in exports that carry this parameter.

And we improved a bunch of existing custom parameters:

  • Fixed issue with Master Color parameter in situations where the color has never been changed
  • Fixed Reencode Glyphs parameter
  • Improved the display of custom parameters that contain a very long string as their value
  • Glyphs now better syncs width if you added an isFixedPitch parameter

TrueType

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.

Hinting

Apart from the above TrueType improvements, we were able to improve TT hinting:

  • Dark mode now works in TrueType Instructor (I) preview.
  • The auto setting for a stem hint now works as expected.
  • Fixed a bug where the italic angle was put into the TTFZones parameter in Font Info > Masters.
  • Improved the display of TrueType hints.
  • Improved TrueType deltas.
  • Glyphs will now gracefully ignore invalid TrueType hints.
  • Get PS zones will only add zone filters to key master.
  • Fixed display of unencoded glyphs in the HTML preview.

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.

Glyph data and script support

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 box
  • minX and maxX: left and right edges of the bounding box
  • centerX and centerY: horizontal and vertical centers of the bounding box
  • width: the advance width of the glyph (or right sidebearing)
  • descender, baseline, ascender: vertical metrics

You 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:

  • Glyphs now allows more than one GlyphData.xml file next to the .glyphs file, just like it does inside the Info folder in Application Support.
  • We fixed the default setup for 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.
  • Added Ogham script, many thanks to Michael Everson for his input.
  • Added Kawi script.
  • Added more Canadian syllabary.
  • Added a bunch of missing Han infos, and some more CJK infos, specifically CJK Ideograph Extension H+I blocks. If you know, you know.
  • Adjustments and corrections for Coptic and Mongolian.
  • Improved sorting of math glyphs.
  • CustomFilter.xml files now also work via aliases. No more managing of file copies.

Import and export

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:

  • Improved SVG import
  • Fixed export of duplicate Color Palette layers
  • Fixed export of gradients in SVG
  • Fixed export of interpolated color palette layers
  • Improved export of color layers to COLR (v0)

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).

  • Sparse masters form .designspace files are now imported as brace layers
  • Glyphs will now substitute $[] tokens when exporting UFOs
  • Glyphs will not write disabled features to UFOs anymore (attention: they are missing when round-tripping)
  • Glyphs now respects Write lastChange and Write DisplayStrings parameters when writing UFOs
  • Better handling of userData of guides (and preserve UFO guides info)
  • Glyphs now writes anchor.context into public.objectLibs where it belongs
  • Fixed reading kerning from .ufo files
  • Better error reporting for invalid UFO data
  • Many small improvements in UFO handling

More Import/Export news:

  • Improved export stability
  • Font and instance properties are sorted before they are written to the .glyphs file in order to reduce diff debris and improve version control
  • Fixed export of outlines with fractional coordinates
  • Fixed export of cvXX parameter names
  • Duplicate glyph names are avoided when reverse-engineering GSUB during import of .otf files
  • Fixed reading kerning from .otf file
  • Fixed export of GPOS table for variable fonts
  • Fixed a couple of issues with writing automatic GPOS 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.
  • Fixed export of Name Table Entry, including the correct encoding for Unicode strings
  • Improved calculation of hhea.caretSlopeRise and hhea.caretSlopeRun
  • Fixed export of Remove Glyphs and Keep Glyphs parameters
  • Fixed export of components with componentMasterId
  • Fixed export of deltas on zones and stems in TrueType
  • Fixed export of stems to CFF
  • Fixed export on older system versions, especially macOS 10.12 and below
  • Fixed import of multiple styles from suitcase fonts
  • Fixed export of brace layers in variable fonts
  • Fixed import and export of variable fonts (especially when there is more than one master per axis)
  • Fixed import of invalid fonts
  • Fixed export of variable WOFF and WOFF2 files
  • Fixed Webfont Only parameter for plain font exports (.otf and .ttf)
  • Improved round-tripping of Glyphs 2 files (especially Glyphs 2 zones to Glyphs 3 metrics)
  • Improved the Show button in the export error dialog
  • Improved decomposition of rotated components, and nested special components upon export

Python and scripting

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:

  • Plug-ins and modules are updated more aggressively, though still quietly in the background
  • Added documentation for GSPathSegment
  • Added GSGradient to python wrapper
  • Fixed the drawingTools Python API
  • Fixed GSComponent.automaticAlignment
  • Fixed GSFont.newTab(), sorry about the issues you may have run into
  • Fixed missing countOfUserData
  • Fixed GSBackgroundImage wrapper
  • Fixed GSInstance.active: it always gives you the updated value now
  • GSElement.orientation allows accessing the clockwise or counterclockwise orientation of components
  • Fixed setting GSGlyph.color to None for deleting the assigned glyph color
  • Improved handling of external scripts
  • Refactored the Extrude filter so you can access its objects from within a script
  • Glyphs is now much better at catching plug-in exceptions
  • Improved memory usage of Python scripts

And, 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.

More improvements and stability

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:

  • We were able to fix dozens of crashes (thanks to you all for sending in the crash reports!)
  • Improved Quicklook for .glyphs, .glyphspackage and .ufo file
  • Avoid decomposing underscore anchors in non-marks (GDEF warning)
  • Prevent clipping when printing grid view
  • Improved error reporting, especially when opening a broken file
  • Improved corners with origin anchor
  • Improved handling of unselected offcurve nodes when pasting into paths
  • Improved realigning of handles after removing nodes
  • Improved handling of SF Symbols
  • Improved metric keys on brace layers
  • Improved naming for .glif and .glyph files
  • Improved performance of calculating metrics keys state
  • Improved the measurement line against the sidebearing
  • Improved the wording and UI on the ‘Changes in old file’ dialog
  • Fixed a hang during app start

And a bunch of improvements specifically for color fonts:

  • Improved SVG export
  • Fixed currentColor for SVG from color layers
  • Improved app performance with a lot of CPAL layers
  • Allow FullColorLayer even when there is a CPAL cp
  • Fixed removing color palettes
  • Fixed layer groups for color layers
  • Fixed saving image paths and saving of pasted images
  • Improved Master Color custom parameter, including background drawing

… and before I let you go, here are some more news.

Tutorials

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 com­po­nents 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.

New extensions

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:

  • Change Sentence To Mieum: Window > Change Sentence To Mieum changes the initial consonant and final consonant of an entered Hangeul sentence to ‘ㅁ’.
  • COLR/CPAL Juggler: CPAL/COLR Juggler (de: COLR/CPAL-Jongleur, fr: Jongleur COLR/CPAL) randomly rotates color layers between palette colors.
  • Export CSV: File > Export > CSV will export glyph info into CSV files, one file per font master.
  • Find Escaped Glyphs: Glyph > Find Escaped Glyphs finds a glyph that component or path is outside the box.
  • Gradient Hatch: Filter > Gradient Hatch create gradient hatched outlines, built on top of the Hatch Outline filter.
  • Harmonic Move: The plug-in will scale the opposite handle to maintain the same curvature level when the selected handle changes. For example, the plug-in can be used to change the weight of terminals. Watch demo video3.
  • Rotate View 2: Window for displaying a rotated view of the first line of the current tab. Based on Aaron Bell’s Rotate View for single glyphs.
  • Script Deck: Script Deck is a virtual pad controller to hold and launch your favorite scripts with simple button clicks. No more script menu digging. No more shortcut memorizing. Highly customizable: set colors and icons, name your decks, etc.
  • Selection Shelf: Save a selection to a ‘shelf’, give it a name, and retrieve the selection later. If you have certain nodes that you are often selecting and referring to, you can save them as a named selection by typing a name in the text field and clicking Save. To retrieve the selection later, double click on its name in the list. If you have no longer any need for the selection, click on it in the list and press Delete to remove it.
  • SelectionPalette: Palette that provides selection commands such as undo, grow, shrink, and a pattern-recognizing continue, as well as selection operations to add, remove, or select only elements of a certain type.
  • Show Coordinates Distance Angle: Display coordinates above or below the selected nodes and handles, and display distances and angles (respected to italic) along the path lines. Shortcut assigned: ⌘L.
  • Show Handle Relations: View > Show Handle Relations displays the relative handle lengths for smooth connections between curves, and for nodes that connect a straight line and a curve (“tangent points”). This helps you avoid kinks in interpolations by keeping the relative handle lengths consistent across all masters.
  • Straighten Short Curves: Filter > Straighten Short Curves will straighten curve segments shorter than a certain threshold length. The handles are deleted and the curve segment is turned into a line segment. Useful for cleaning up a vectorized scan or avoiding Remove Overlap errors at export.
  • Unnest Components: Filter > Unnest Components (de: Komponenten entpacken) ‘unpacks’, ‘unnests’ or ‘flattens’ components, i.e. it decomposes composites step by step until there is only one level of composition. Nested components are not bad per se, use it only if you know what you are doing. Unnesting only makes sense for TrueType exports (.ttf or TT-flavored .woff and .woff2). It has no effect on CFF exports (.otf or CFF-flavored .woff and .woff2) because PostScript-based fonts have no components. You can have the filter run at export time with a Filter custom parameter, with UnnestComponents in the filter value.
  • Werner Herzog Quotes: Display inspirational quotes by our favorite movie director in Glyphs. Make sure to allow Glyphs to display notifications via System Settings, otherwise you’re missing out on the occasional morale boost.

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.

Upcoming events

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.

6–20 May 2024: tipastype Python para Glyphs 2024

$
0
0

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!

Taller: Python básico para Glyphs

  • When?

    5 sesiones de 2 horas
    6–20 de mayo, lunes y jueves
    12 a 2 pm (Hora del centro de México)

  • Who?

    Elí Castellanos (Cocijotype Foundry)

  • For whom?

    Dirigido a diseñadores de fuentes con experiencia mínima en diseño de caracteres tipográficos.

  • How much?

    EUR 360

  • Language

    Castellano

  • Prerequisites

    Un Mac con Glyphs y DrawBot

  • Registration

    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.

  • Links

    https://tipastype.com/phyton-basico-glyphs/

Sesión 1: Introducción al taller y la API

  • API: qué es y para qué sirve
  • Cómo buscar la información dentro de la API
  • Cómo pensar para elaborar un script que solucione un problema
  • Asignación de variables
  • Nombres de variables
  • Funciones básicas de python: print() return len() range() y operadores matemáticos

Sesión 2

  • Datos booleanos
  • Listas y diccionarios

Sesión 3: Iteraciones

  • Iteración sobre masters
  • Iteración sobre posición de nodos
  • Iteración sobre posición de anclas

Sesión 4: Condiciones

  • Qué es una condición y cómo utilizarla
  • Condición sobre glifos

Sesión 5: Funciones

  • Desarrollo de un script usando una función




Latest Images