1. 39
  1. 2

    I really enjoyed the writeup.

    As I read of the complexity needed to get fonts rendered, all I could think of is “More code, more security risk, for trivial things.”

    1. 13

      I want everything we do to be beautiful. I don’t give a damn whether the client understands that that’s worth anything, or whether the client thinks it’s worth anything, or whether it is worth anything. It’s worth it to me. It’s the way I want to live my live my life. I want to make beautiful things, even if nobody cares. Sometimes you can’t make everything beautiful, but that’s my intent. And I’m willing to pay for that. Now that’s where money comes in. Because you can get much more quickly to an answer if you don’t worry about those things.

      —Saul Bass

      1. 1

        Saul Bass is a legend. Highly recommend his Bell branding presentation[1]. Contemporary branding has regressed so much, it is hard to overstate.

        [1] https://www.youtube.com/watch?v=xKu2de0yCJI

      2. 8

        As I read of the complexity needed to get fonts rendered, all I could think of is “More code, more security risk, for trivial things.”

        More code doesn’t necessarily imply more security risk. More code executing in a privileged context does. Text layout is quite amenable to sandboxing: it needs to be able to read fonts, read strings and bounding boxes, and produce a list of bezier paths. An implementation that cared about security could run this in a completely unprivilged context.

        1. 2

          And then somebody manages to slip in a malicious application name that renders “Deny Access” on top of the “Allow Access” button in the request permission dialog…

          1. 1

            Only if the sandboxing is exposed to the user and for a use case like this there is absolutely no reason that it needs to be.

        2. 1

          I used to think this way too. Personally I grew up speaking only English, which has a relatively simple script. But as I learned more I realized that I can’t call German hyphenation, Korean line-breaking, Unicode left-to-right, or Mongolian script “trivial things.”

          Humans aren’t simple, and languages are a big part of peoples’ culture. Trying to simplify human typography so it’d be easier to implement on computers is like trying to fit human feet into square shoes because they’d be easier to manufacture!

          It’s easy to lose sight of the goal and dismiss things as indulgent when your own personal requirements have already been met.

          1. 1

            I don’t know if implementing these language features is more or less complex than the font ligature examples given, so I can’t comment on this. To me the examples given were more stylistic than necessary. I rarely have use for fancy fonts and the attendant complexities of rendering. Also, languages are mutating creatures and technology is one of the things that mutates them.

        3. 1

          Typography has to be one of the most painful things when it comes to web/ui design.