Jump to content
You must now use your email address to sign in [click for more info] ×

Variable Font Support


Recommended Posts

  • Staff

Known Issues in this feature
A list of unresolved issues for this feature, reported by users

  • AF-2606 - Variable fonts - could trait be shown as "Custom" rather than blank
  • AF-2885 - Variable Font - text style description not correct when a style is modified by a variable font style
  • AF-3071 - Variable fonts - Catalina shows hidden axes in variable fonts
  • AF-3187 - Variable font Gnomon - odd axis behaviour on Mac

Released Fixes
A list of issues for this feature, available in the current beta build

  • AF-2910 - Variable Font - All axes visible when they shouldn't be
  • AF-2878 - Variable fonts - Axes panel has transparency enabled
  • AF-2845 - Variable fonts - Axes values not updating
  • AF-2893 - Variable Fonts - Geologica Font not responding to Cursive axis
  • AF-2974 - Axes Panel is sized incorrectly
  • AF-2950 - Variable Fonts - Italic state lost when varying axes away from an italic preset
  • AF-2922 - Character Panel: All fonts, selecting a Font Book Collection with Variable fonts will crash Affinity
  • AF-2890 - Variable Fonts - Font Manager issues
  • AF-2886 - Variable Fonts - Updating a text style based on variable font changes not functioning

Upcoming Fixes
A list of issues for this feature, which will be available in a forthcoming build

Link to comment
Share on other sites

  • 2 weeks later...
  • Staff

The earlier posts made in this thread before the feature was made available can now be found here

Patrick Connor
Serif Europe Ltd

"There is nothing noble in being superior to your fellow man. True nobility lies in being superior to your previous self."  W. L. Sheldon

 

Link to comment
Share on other sites

Excellent addition, first impression is it works smoothly.

Just noticed one thing which is at odds with your GIF Ash – the numerical value for each axes doesn't update in live time when you adjust the slider, it only updates when you close and reopen the variable font panel:

 

 

2021 14" M1 Pro Macbook Pro, 16GB RAM
2024 M4 iPad Pro 11 inch

Affinity Designer 2.5.2 | Affinity Photo 2.5.2 | Affinity Publisher 2.5.2 | Current Beta versions.

Link to comment
Share on other sites

In addition to the numbers not updating when you drag the slider, the slider doesn't update if you enter a number and press tab or return, again until you close and re-open the popup.

Edited by MikeTO
fixed typo
Link to comment
Share on other sites

There's a noticeable lag with variable fonts (it's there with regular fonts too, it's just not as noticeable) where the text is fuzzy (like a highly compressed JPG) for a moment before it sharpens while being edited/resized/etc. I realize this was probably designed this way for performance reasons, but it's rendered fuzzy for just long enough to be distracting.

macOS 14.4, MBP M1-Pro, 32GB.

Link to comment
Share on other sites

I really like how responsive Affinity is with axis changes, it redraws the font in real time as I drag the axis sliders without any lag whereas Adobe only redraws after I've let go of the slider and after a full second pause which seems like forever on fast hardware. The axes work great.

I was surprised that when I created custom instances that the Font Style control was blank. I was confused at first because blank is already used for mixed state. Perhaps you didn't want to repeat what Adobe did, listing all the axis changes in the name (e.g., "Italic Monospace-0.429 Casual-0.130 Semibold") but perhaps something else could be shown such as <Custom>?

3 minutes ago, Bryan Rieger said:

There's a noticeable lag with variable fonts (it's there with regular fonts too, it's just not as noticeable) where the text is fuzzy (like a highly compressed JPG) for a moment before it sharpens while being edited/resized/etc. I realize this was probably designed this way for performance reasons, but it's rendered fuzzy for just long enough to be distracting.

macOS 14.4, MBP M1-Pro, 32GB.

I'm on a M1 Pro, too, and choosing fonts and changing variable font axes are both instantaneous for me.

I don't have a huge number of fonts installed. I have the standard set plus about two dozen others. Do you have lots of fonts installed?

Link to comment
Share on other sites

19 minutes ago, MikeTO said:

I don't have a huge number of fonts installed. I have the standard set plus about two dozen others. Do you have lots of fonts installed?

I've got maybe a dozen fonts installed beyond the standard macOS font set.

Link to comment
Share on other sites

Feature request...

A keyboard shortcut (Alt or Cmd) to disable the defined stepping when dragging the sliders, i.e., to enable the completely smooth transition of the variable between values as per Google Fonts sliders...

Affinity Designer 2.5.2 | Affinity Photo 2.5.2 | Affinity Publisher 2.5.2
MacBook Pro M3 Max, 36 GB Unified Memory, macOS Sonoma 14.5, Magic Mouse

Link to comment
Share on other sites

8 minutes ago, Hangman said:

Will we always be restricted to the current five variables?

or at some point will all the variables for the specific font be supported, e.g., Roboto Flex supports thirteen variables...

I think Ash answered this in the initial post stating that axes hidden by the font designer will be hidden in Affinit and used Roboto Flex as an example. Lots of custom axes appear in Affinity. 

Link to comment
Share on other sites

10 minutes ago, Hangman said:

or at some point will all the variables for the specific font be supported, e.g., Roboto Flex supports twelve variables...

Did you miss Ash's comment toward the end of the first post in this topic?

On 4/12/2024 at 8:53 AM, Ash said:

You may see fewer axes in Affinity than are mentioned by a font provider's marketing. For example, Google Fonts lists 13 axes for Roboto Flex and Affinity exposes five of them. This is because we respect font designers' ability to specify that an axis should be hidden. This is part of the OpenType specification and means that software isn't meant to provide an interface for such axes.

Why would a designer do this? Well, a variable font might adjust an axis internally based on your choices for other axes that you can directly adjust. For example, observe how counter widths change when the weight axis is adjusted in the animation above.

 

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.5, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.5

Link to comment
Share on other sites

Hello,

I tried using the Inter variable font, but the weight axis doesn't show up in the dedicated area, only the optical size one. (Note: the weight axis is not hidden in the font, as discussed above for others)

image.thumb.png.c61b3be38d3e76c19ede4f6d0cad3e0b.png

However, the weight axis is displayed when setting a text style

image.thumb.png.ee20ca6c8a8f9e5996b5f72bc2c049fc.png

Edited by adrien_b
Link to comment
Share on other sites

14 minutes ago, Hangman said:

or at some point will all the variables for the specific font be supported, e.g., Roboto Flex supports twelve variables...

 

On 4/12/2024 at 2:53 PM, Ash said:

You may see fewer axes in Affinity than are mentioned by a font provider's marketing. For example, Google Fonts lists 13 axes for Roboto Flex and Affinity exposes five of them. This is because we respect font designers' ability to specify that an axis should be hidden. This is part of the OpenType specification and means that software isn't meant to provide an interface for such axes.

Those axes are marked as hidden in Roboto Flex. According to the spec: "If this flag is set, the axis should not be exposed to users in application user interfaces except in specialized scenarios, such as a font inspection utility." Although it's a bit strange that Google does show all axes on their own type tester page: https://fonts.google.com/specimen/Roboto+Flex/tester?query=roboto+flex

edit: see above posts :)

Edited by Floor
too late
Link to comment
Share on other sites

5 minutes ago, walt.farrell said:

Did you miss Ash's comment toward the end of the first post in this topic?

Yep, completely missed it... :)

Affinity Designer 2.5.2 | Affinity Photo 2.5.2 | Affinity Publisher 2.5.2
MacBook Pro M3 Max, 36 GB Unified Memory, macOS Sonoma 14.5, Magic Mouse

Link to comment
Share on other sites

Another question...

Is the Font Variation panel supposed to show transparency on Mac when accessed from the Context toolbar? This feels very out of character with the rest of the UI...

VariableFontPanel.png.12bbdf2c71468e8d6ae5d45d86af6fb1.png

Affinity Designer 2.5.2 | Affinity Photo 2.5.2 | Affinity Publisher 2.5.2
MacBook Pro M3 Max, 36 GB Unified Memory, macOS Sonoma 14.5, Magic Mouse

Link to comment
Share on other sites

I tested copying text to and from MS Word. Microsoft only supports preset instances so I didn't expect custom instances to work but even the preset instances didn't work. I'm mentioning this only because others will likely try it and somebody might think it's a bug in Affinity.

Copying or Exporting from Word to Affinity: I believe it's Microsoft's fault because they're truncating the font style names - for example "Recursive Mono Casual Medium It" instead of "...Italic" - Affinity will show the font with a question mark. The issue happens with copy/paste, docx, rtf, and html. I had best results with docx but it was still terrible. Safari couldn't use the font style info in the HTML either.

Copying from Affinity to Word: Affinity properly copied the font style as RTF but Word could only accept the font family and ignored the font style.

Link to comment
Share on other sites

10 minutes ago, MikeTO said:

Copying or Exporting from Word to Affinity: I believe it's Microsoft's fault because they're truncating the font style names - for example "Recursive Mono Casual Medium It" instead of "...Italic" - Affinity will show the font with a question mark. The issue happens with copy/paste, docx, rtf, and html. I had best results with docx but it was still terrible. Safari couldn't use the font style info in the HTML either.

FWIW I had some weirdness in Affinity where I had one document I had opened that used a static version of a font, while I then created a new document that used the variable version (but only having the static or variable version of a font active at one time). I ended up Affinity picking up the 'correct' font, but there were visual glitches in terms of tracking, kerning, metrics, etc. Even copying between Affinity documents was creating some confusion.

I'm not entirely sure if this problem is down to only some variable fonts, or if it's potentially a larger problem in the way that Affinity handles these fonts in general. I'll do some more testing later, and try to come up with a solid reproducible test case.

Link to comment
Share on other sites

I made a simple PDF export test to see how the variable font information is labelled... Interestingly:

  • Acrobat Reader fails to render or identify any embedded fonts and shows a blank page (assume this is an Adobe issue)
  • Apple Preview shows the fonts but doesn't provide an option to see which fonts are embedded
  • Foxit PDF Reader shows and identifies the embedded font info
  • PackZView shows and identifies the embedded font info

EmbeddedFonts.thumb.png.d327cd0f20eaa8bf7d7be7ef12f5f30c.png

Affinity Designer 2.5.2 | Affinity Photo 2.5.2 | Affinity Publisher 2.5.2
MacBook Pro M3 Max, 36 GB Unified Memory, macOS Sonoma 14.5, Magic Mouse

Link to comment
Share on other sites

Another question...

When many variables are applied the export preview and the physical export are very slow for a really simple file i.e., twenty instances of the letter A using Roboto Flex each using a different Optical Size, is this to be expected owing to the conversion to static instances of the font with fixed settings?

 

Affinity Designer 2.5.2 | Affinity Photo 2.5.2 | Affinity Publisher 2.5.2
MacBook Pro M3 Max, 36 GB Unified Memory, macOS Sonoma 14.5, Magic Mouse

Link to comment
Share on other sites

I tested the Roboto flex and Noto sans. Works well, even with effects on the text frame. I guess (in contrast to the 2023 Roboto Condensed) the Roboto Flex and Noto fonts ar far better constructed with only a few uncritical or no overlaps:

image.png.53f96f71c393e65b9d45bc54dddf623c.png

 

Noto and Robot Flex don't show artifacts when layer effects are applied, Roboto Condensed still does:

image.png.4128f9a1fab93cc57c4955a4861af385.png

 

By the way: a little reset button/icon in the variable font drop down panel mightbe a nice timesaver after messing all parameters up 🙂

image.png.663bf7a2b888b09ff2a65e10db57f365.png

 

Like fonts.google.com

image.png.001ea26c4deda5284c3c1bac24aa569d.png

 

 

Hardware: Windows 11 Pro (23H2, build 22631.3593, Windows Feature Experience Pack 1000.22700.1003.0), Intel(R) Core(TM) i9-14900K @3.20 GHz, 64 GB RAM, NVIDIA RTX A4000 (16GB VRAM, driver 551.61), 1TB + 2TB SSD. 1 Display set to native 2560 x 1440.
Software: Affinity v1 - Designer/Publisher/Photo (1.10.6.1665), Affinity v2 (universal license) - Designer/Publisher/Photo, v2 betas.

Link to comment
Share on other sites

+1 for a reset button

Lenovo IdeaPad 5 Ryzen 7 5700U Rx Vega 8 graphics 

16GB RAM (15.3 usable) 

Acer KB202 27in 1080p monitor

Affinity Photo 1.10.6

Affinity photo 2 2.4.2 Affinity Designer 2 2.4.2 Affinity Publisher 2 2.4.2 on Windows 11 Pro version 23H2

Beta builds as they come out.

canon 80d| sigma 18-200mm F3.5-6.3 DC MACRO OS HSM | Tamron SP AF 28-75mm f/2.8 XR Di LD | Canon EF-S 10-18mm f/4.5-5.6 IS STM Autofocus APS-C Lens, Black

 

Link to comment
Share on other sites

38 minutes ago, Bryan Rieger said:

FWIW I had some weirdness in Affinity where I had one document I had opened that used a static version of a font, while I then created a new document that used the variable version (but only having the static or variable version of a font active at one time). I ended up Affinity picking up the 'correct' font, but there were visual glitches in terms of tracking, kerning, metrics, etc. Even copying between Affinity documents was creating some confusion.

I would expect that you still need to have the correct font installed, and that having multiple documents open that require different versions of a font is more of a user error in setting up their configuration.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.5, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.5

Link to comment
Share on other sites

1 minute ago, walt.farrell said:

I would expect that you still need to have the correct font installed, and that having multiple documents open that require different versions of a font is more of a user error in setting up their configuration.

Yes, but it's not flagging it as an incorrect font regardless. Also, as folks move their existing documents from static fonts to variable fonts, no doubt this 'user error in configuration' will come into consideration.

Link to comment
Share on other sites

43 minutes ago, 4dimage said:

By the way: a little reset button/icon in the variable font drop down panel mightbe a nice timesaver after messing all parameters up 🙂

I've been wanting this, too, but I'm unsure what it should reset to? If I started with a named preset then of course I'd want to reset to that but if I started with custom values should Affinity reset to the custom values set before the last time I opened the popup or should it keep track of the preset I started with even if it was long ago?

With Adobe, which doesn't allow setting the axes from the toolbar and thus doesn't need a popup, the axes are listed below the Font Style list so to reset to a preset I can simply choose the preset from the list which feels natural and doesn't make me want a reset button. It's 2 clicks (open the style list and then select the style). With Affinity, I click on the font style list (which closes the popup), select the style, and then reopen the popup. It's only one more click but it feels much longer, perhaps because of the additional mousing required or my loss of focus.

I've been wishing that the font style list was duplicated in the popup so I could reset the style without closing the popup. But it seems silly to duplicate the list when it's just pixels away. Perhaps the toolbar should remain the way it is but the character panel could include the axes directly in the panel instead of in a popup. Clicking the button would show/hide the axes like Adobe.

2 hours ago, MikeTO said:

I was surprised that when I created custom instances that the Font Style control was blank. I was confused at first because blank is already used for mixed state. Perhaps you didn't want to repeat what Adobe did, listing all the axis changes in the name (e.g., "Italic Monospace-0.429 Casual-0.130 Semibold") but perhaps something else could be shown such as <Custom>?

On second thought, I want "ExtraBouncy." 🙂  Affinity doesn't show the named values for other axes, just for the primary one - I'm unsure if primary is the right term but I'm referring to the axis the presets are named for.

Shantell Sans (Google Font link) has presets named Light, Regular, Medium, etc. for its Weight axis. Its other axes are Informality, Bounce, and Spacing.

If I start with the Medium preset (Weight-500) and set Weight to 501, Adobe will show me "Weight-501". If I reset that and set Informality to 25, it will show "Medium Informality-25". If I set Bounce to +50, Adobe shows "Medium Bounce-50". All very standard.

But if I set Bounce to +100, Adobe shows "Medium ExtraBouncy", the name for +100 on the bounce axis. Likewise, if I set Informality to +100, I get "Medium Informal" rather than "Medium-100". If I drag Spacing to +100 I get "Medium Max Spacing". If I set the three additional axes to their extremes, I get "Medium ExtraBouncy Informal Max Spacing". I think this is more useful than showing blank which is what Affinity does now or than showing <Custom> which I suggested above.

Perhaps Affinity should show everything like Adobe. Or perhaps it could show the named value(s) for all axes and Custom only for other values. For example:

  • "Medium ExtraBouncy" - If I started with Medium and chose a named value for another axis
  • "Medium ExtraBouncy + Custom" - if I started with Medium, chose a named value for another axis, and set another axis to an unnamed value
  • "ExtraBouncy + Custom" - If I set the primary axis (the ones with named presets) to an unnamed value and chose a named value for another axis
  • "Custom" - If all axes are set to unnamed values

This would be shorter than Adobe but provide more information than the beta is doing now. Of course there's probably a font out there with named instance of "Custom".

Note: I don't fully understand what Adobe is doing. If I start with Regular (weight-400) and set Informality to 25, it shows "Informality-25" but if I start with Medium (weight-500) and set Informality to 25, it shows "Medium Informality-25". I don't know why it doesn't show "Regular Informality-25" for the first one.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.