Creating a vertical font - tips?

Hi! I would like to create a font for use in vertical text only, similar to Japanese or Chinese writing, but not many symbols. I am totally new to this, never made any fonts but it’s time now. Are there any tutorials for this? I want to be able to align them all centrally down the vertical axis. And add things to some of the symbols on the right and/or left sides - perhaps that would come under diacritics in this app?

I’ll also want to be able to do the equivalent of ‘justify text’ - does that work with vertical lines of text?

Also as some of these symbols have nothing to do with any language, will it be easy enough to assign keys or key combinations to them? Or does that require creating not only a font, but also an input method? Like you can do when switching language on the Mac with the menu up top?

Many thanks for tips on how I can do all this (if I can) with this app!

P.S. Would this need the full or cheaper version of the app?

Not exactly sure I understand that. Can you share what exactly you are planning to do? A fantasy language? Or an emoji font? Perhaps also share a sketch. That would make it much easier to give you the answers you need.

You need to decide what is the job of the font and what is the job of the app that uses your font. I take it you want to create a (kind of) Latin font for vertical text setting, and the distance between the letters should be equal.

Theoretically, there are special functions for making Latin (or generally simple horizontal scripts) work with vertical CJK, but that is not applicable in this case. So I suggest you simply design your Latin letters to the same height always, e.g. between baseline and cap height.

Try the Get Started page. All the videos have links to tutorials. And in the Tutorials section, you get a bunch of tutorials listed under Basics.
And there are also online courses (some of them for free on YouTube) that show you how people work in Glyphs.

I am not really sure what you mean. But it sounds like a job for the app in which you use the font, not the font itself.

You could do that. Or you can, for the time being, make it a pseudo-Latin font, where you just put the symbols in the Latin glyphs. If you want to make your own script system, you may want to create your own glyph data, but that is a bit advanced.

You can try and keep it as simple as possible and try Mini. If you want to (eventually) do stuff like defining your own glyph data, or advanced OT features, you can only do that in the full version of the app.

In any event, both apps have a free 30-day trial. So you can simply try for yourself.

1 Like

Sure, here’s an example:

Some of the symbols are existing letters (in Japanese), some are not. I will be making them all from scratch anyway. [Edit: whoah, it blew it right up. If you click on it you can see the full image.]

I was thinking for example I could have ‘.’ to represent the circle at the bottom (for input method), ‘,’ for the one above it maybe with the number on the right being treated as a diacritic? So I can control exactly whee it goes? And could maybe use ‘,4’ to input it, and ‘,3’ for the one above it (those are the numbers written there so that would be handy).

Since this has nothing to do with Latin letters, should I ignore what you said about Latin? Also I did search the tutorials page for ‘vertical’ and scanned through all the results but didn’t seem to be anything relevant to this. Just checking out one of the online videos linked on this site now, but was curious how critical the process is for vertical as opposed to horizontal, which I guess almost all the info out there is targeting.

I mean when the top of the line is at the top and the bottom at the bottom, instead of each line being a different total length. There’s an option ‘justify text’ on things like Pages app, Open Office and so on. It makes that happen, with horizontal text anyway. If that’s all down to the app and I cannot screw that up when making my font, then that’s good news. Was just worried if there’s something I need to be careful about there.

For your first option there, does that mean I could just make a symbol replace for example the letter ‘a’ - but then I could still create my own ‘input method’ in Mac OS, so I could for example have ‘x1’ inputted and that brings the symbol I have ascribed to ‘a’ in the font? Would that be better/simpler than ‘create your own glyph data’ perhaps?

Also, since I’m only using this vertically, would it be better to chose a vertical font to make a pseudo version of, rather than a Latin font? Such as Japanese? Or is there some benefit to using Latin?

Thanks for all the help!

Ok so a non-connecting vertical script. You can set Glyphs (the full version) into vertical mode, then glyphs have a height, top and bottom side bearings. In which environment are you planning to use the font? Not every environment supports vertical text setting.

1 Like

OK thanks, I will try to set it like that.

Maybe in an old version of Photoshop? Or in Pages and export from there to PDF, yes maybe that way. Or, open to suggestions also. Those are two apps I use a lot. Used to use Openoffice too but it tends to look quite unprofessional and have weird glitches and so on… so I don’t tend to use that anymore.

Any tips would be really appreciated. I think the videos will help me in actually making the shapes and all that. But regarding the other steps like how I even start, I’d really appreciate some steps laid out.

So I use full version,

  • set it to vertical mode
  • then…?

By the way I did notice that when I open it up, under ‘Latin’ I see letters, with 4 digit codes underneath. However under Chinese, Japanese, and also Japanese sub-category ‘Kana’ (the most relent for this task), they are all empty - no letters, no numbers, nothing. I was thinking that might be where I was going to start… but…


Oh just to say, Pages does support writing vertically. You just have to change the language for the whole document. Pretty sure my old Photoshop also allows it if I remember correctly. Never upgraded since now you can’t even buy photoshop from what I understand, can only rent it! Not my style.

These are filters for showing you what is in your font already. If you have no CJK glyphs, it will not show anything. Here is how you add glyphs to your font:

1 Like

Sorry have tried that now, and can’t find how to. I have Version 2.6.3 (1271) (downloaded today). The help menu shows only has one single menu item for ‘vertical’, and that’s ‘add vertical hint’. How to put it into vertical mode?

(I’m guessing the forum topics and tutorials for vertical writing are probably all in languages that use vertical writing, hence the lack of available info on this in English!)

At the bottom you can set the Edit view to LTR, RTL, and vertical mode:

Ah finally found it! If anyone else is wondering the same, you have to open an individual letter/character to find that menu.

Would be awesome if someone could write a tutorial for beginners that starts from the beginning, assuming no knowledge of this app. Took me over an hour to work out this step!

I recommend:

  1. Watch the videos on the Get Started page, especially Drawing Paths.

  2. Read the tutorials listed under Basics on the Tutorials page:

Your case is pretty special since you starting with an invented vertical script. Adding a new script to Glyphs is a little more complicated. So I suggest, for the time being, to reuse existing glyph definitions.

1 Like

Thanks for all the tips!
I ended up following this class:

Not got all the way through it yet. I found the part about kerning interesting, but, it’s all for horizontal script. I’ve tried googling to find out how to do it. The most I found is this hopeful paragraph but not with instructions and not even from this app. But, can this app do something like this?

Kerning distances can be expressed in horizontal or vertical directions, depending on the layout and/or the script. For example, some horizontal layouts like Arabic can make use of vertical kerning adjustments between successive glyphs. A vertical script can have vertical kerning distances.

My font so far - no actual glyphs created yet but I have the empty set of glyphs assembled, and they’re all set on vertical so far as I can see from the blue highlight at the bottom left:

But on the ‘font’ tab, it still only gives he left and right kerning options, not the top and bottom so far as I can see:
[Image coming in next post as it will not allow me more than one per post]

If anyone has a solution, that would be great!


That is a good point. I’ll see what I can do.

1 Like

Thanks! In the meantime I’m creating glyphs. It’s fun! And so when I’m able to kern them, that will be fantasitc. That function is one of the most important reasons for me to create this font :slight_smile:

Also I noticed a strange behaviour. In vertical text, the letters (kana) are the right way up (unchanged) but the numbers are on their side. That’s what it does to English text when you make it horizontal. But I checked and numbers and letters both, are set to horizontal as shown in the example image I gave in the image above. Is there something else we have to set so that that doesn’t happen? So they’re all treated the same?


I’ve been trying to make ligatures just to practice before I get the vertical going. I followed the instructions on this video, sorry if you can’t see it:

I create a gliph, for example named a_b and I hit ‘make component glyph’ and I then create a glyph for it, then I go to ‘font info’ (where I have ‘generate features automatically’ checked), then click update, but I have no folder there entitled ‘liga’ under features as he does. I have 4 items, enitled: aalt;cjct; vert; vrt2.

The test I made with English letters doesn’t seem to show up anywhere there. A ligature I made with the same procedure with Japanese letters does appear there. But it’s in a folder entitled ‘cjct’, and has this text:

script kana;

lookup cjct_Halfkana {

sub ko-kata ro-kata by ko_ro-kata;

} cjct_Halfkana;

And it doesn’t have any effect when I type like that in Pages using this font so far. And I do have ligatures switched on (by default). The single letters do appear properly but not the new ligature I made, and the English one doesn’t appear either.

I also tried something else he said in the video, which is to name the glyph ‘a_b.liga’, but that also didn’t seem to make any change in that file system nor in Pages, saving anew and so on.

How come it’s not working?
Also, what’s the difference between making a_b vs. a_b.liga ? Does the latter mean that we can turn that off in the menu on other apps, whereas the former makes it always appear ligatured, then substitution with the new glyph we made? I’d like that.

[Edit: I’ve also just tried this page:

It’s the same info just in less detail. And still gives the same results.]

Just to say, I have had success in adding macros to a font that they didn’t work with, an English script. So I do have some things working!

Also if the vertical thing is a no go, then as a work around I could just make a horizontal script and put all the letters on their side. But I still need to overcome that kerning issue as I have not been able to get that working even with a horizontal script. :slight_smile:

Still trawling the net for an answer… I came upon something that indicated that if you have a ligature, like ‘a_b’, then you also have to have ‘a’, and ‘b’. Is this true? If so, perhaps that’s why my test with horizontal didn’t work. However it would not explain why it didn’t work with my vertical font since I do have the components.

With the horizontal one, I followed the instruction in the video which enabled me to create a glyph for ‘a_b’ which is actually a new glyph I made. I made an ‘a’ also, but no ‘b’. But why would ‘a_b’ require the existence of both ‘a’ and ‘b’ when we are allowed to make an entirely new glyph, unrelated to ‘a’ and ‘b’, for ‘a_b’?

So I’m not sure, but that might be one of the problems anyway…? Though wouldn’t cover both.

I can now confirm that making a font with ‘a_b’ does indeed require the existence of both ‘a’ and ‘b’. That seems illogical to me, but, seems the program is set up that way for some reason.

That doesn’t not explain why it wasn’t working in the vertical script, but I’ve now identified that. On the main font I’m making I didn’t add the .liga ending. I guess that made it a ‘discretionary ligature’? I made .liga files in another smaller test font, but had perhaps not added the individual components for non-ligature glyphs. So it seems that’s all sorted out now! Took me a couple of days!

So the remaining problem is the vertical font, that I have no idea how to kern with only boxes for ‘left’ and ‘right’. Do people just tend to use a different app for making vertical fonts?