Transparency, gradients

Hi all,

Newbie here!

I'm designing my first display font and I'm running into a problem. I started designing it on paper, then illustrator. It's when I tried to convert it into a real font that the problem was made clear: I have used a gradient (black, 100% to zero transparency), and font formats do not allow that, it seems. Well, it's possible with color fonts but I want it to be a regular font where the user can pic the color.

So the difficulty now is to convert this gradient into black elements. I have tried various solutions: half tones, triangles, and simply drawing the light reflexions, as the gradient is there to simulate a curved surface. I'm worried the success of this will depend on the size of the font. It makes the font less usable.

Do you have any recommandations on how to deal with that?

Comments

  • Ray Larabie
    Ray Larabie Posts: 1,435
    edited January 2023
    It's tricky because the complexity required to get any kind of smooth tone can cause apps to break, and even if you could make it work, you'd still get moiré effects. You can use a coarse halftone pattern effect like this. Film grain→bitmap→autotrace can produce tones with some success, but once you reduce the complexity, the fidelity sucks. I've seen some fonts that use a charcoal paper texture, and it works as a high contrast tone.
    It's 2023, and we still can't have practical transparency in fonts. I'm sure there's a way to do it with color fonts, but then the user can pick the color.
  • In COLRv1 color fonts, you can define shapes with custom colors but also with the current text color. So, you could define a gradient from current color with no transparency to current color with full transparency. The TTX would looks something like this:
    <ColorLine> <Extend value="pad"/> <!-- StopCount=2 --> <ColorStop index="0"> <StopOffset value="0.0"/> <PaletteIndex value="65535"/><!-- 65535 (= 0xFFFF) is the special value to use the current text color --> <Alpha value="0.0"/> </ColorStop> <ColorStop index="1"> <StopOffset value="1.0"/> <PaletteIndex value="65535"/> <Alpha value="1.0"/> </ColorStop> </ColorLine>And look like this:


    But there are currently very few apps that support effects like this.
  • Sev
    Sev Posts: 2
    Thanks for your answers!

    I don't have the skills yet to dive into coding, beside, that font is intended mainly for printing. I would also like to stick to a vector font, it makes more sense to me, I think it's has a wider range of uses.

    By experience I know that gradients are mostly a pain to print, so that makes sense that font formats don't support that. But for the web it could be really useful.

    Here's what it looks like, with gradients and without :


    Not using the gradients destroys the original look, i'd say. It's not as clean and metallic. Yet that's the best I can come up with so far.

    Any idea/comment/critic welcome :)
  • This reminds me very much of Sophia Tai's FoldIt.

    The sources are available from the linked repo, so maybe there could be some inspiration there for you when it comes to the technical challenges.
  • Sev said:
    I would also like to stick to a vector font, it makes more sense to me, I think it's has a wider range of uses.

    By experience I know that gradients are mostly a pain to print, so that makes sense that font formats don't support that.
    I should clarify that the COLRv1 font in my (and Simon’s) demo are vector based and make use of the standard OpenType font file format. It’s just that the COLRv1 part of the format is a recent addition and thus not widely supported by typesetting software.