Some CJK punctuation in certain file will be exported as half-width in vertial metrics by mistake

Hi,

Recently in a project the following glyphs:
uniFE10
uniFE13
uniFE14
uniFE15
uniFE16
uniFE35
uniFE36
(which are generally vertical alternates of punctuations for CJK vertical writing) will be exported as half-width in vertical width – while they are supposed to be in full vertical width and they are actually handled that way in most of my projects. But it is weird that I cannot re-produce it in other files, though it keeps happening in a certain .glyphs file, no matter they are components glyphs or not.

I wonder if you have interests to look into the file.

I can have a look. And please send a test document that shows the problem.

Bug-reproduce.zip (568.7 KB)

Thank you for looking into it
Please use this file to export a ttf or otf file, you will see those glyphs affected.

It would be good to have any document that uses the codes in question in vertical mode (Indesign or Web?). It is difficult to set this up without the CJK version of the apps.

The quickest way is to use Glyphs to open the exported ttf/otf file, and you will find the listed glyphs’ vertical width were exported as 500. My app version is the latest cutting edge ver (1187?)

I haven’t re-install my Glyphs yet, let met try the re-installation tomorrow. If the problem remains, I will attach you the exported font file and test text document.

Opening fonts in Glyphs is not a good way to debug things.

Bug-reproduce.zip (1.2 MB)

I attached the test font and an InDesign file with idml file, you should have no problem to open it
in the sample text, the punctuations marked in cyan are properly set in full-width in vertical writing, and the magenta ones are exported as half-width by some mistakes.

Thanks for the file. That seems to be a glitch in makeOTF. Glyphs is not writing a vmtx table but the font contains one. So makeOTF is adding it automatically and is messing it up. I need to check the source code of makeOTF.

I found the problem:

if you substitute sub commasmall by comma.full.vert; in the vrt2 feature, then makeOTF copies the horizontal width of commasmall to the vertical width of comma.full.vert. I don’t know why it’s doing this.

Thank you very much!

I might just get rid of vrt2 for now, as it is just some remaining of the old workflow and might not be needed anymore.

Thank you again for finding the problem!