Bug 694093

Summary: Wrong rotation of CJk puntuations in vertical writing
Product: MuPDF Reporter: Hin-Tak Leung <htl10>
Component: mupdfAssignee: MuPDF bugs <mupdf-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: tor.andersson, zeniko
Priority: P4    
Version: master   
Hardware: PC   
OS: Linux   
Customer: Word Size: ---

Description Hin-Tak Leung 2013-05-21 21:34:26 UTC
CJK bracket types (U3008 - U3011, U3014-U301B) should be rotated clockwise in vertical writing. I was shown a pdf where poppler-based applications (xpdf/evince/okular) do it correctly (from the libreofffice japan guy during the printing summit last week), while mupdf is wrong in one way and ghostscript is wrong in the opposite (180 degree from mupdf) direction for the unicode characters U300C and U300D.

Don't know whether it is rotation within poppler or an alternate glyph(using the -V chacteracter hints), but poppler does it correctly and differently from either mupdf/ghostscript. mupdf differs from ghostscript, and both are wrong.

I'll either try to get hold of that test file, find a public example, or make one.
Comment 1 Hin-Tak Leung 2013-06-03 13:49:05 UTC
attachment 9930 [details]  in Bug 694093 , and see also comments therein.

These three PDF files are made by Koji Ohtani, member of OpenPrinting
Japan and originator of PDF print path filters, and sent to me from Naruhiko Ogasawara.
Comment 2 zeniko 2013-10-07 00:57:46 UTC
FYI: SumatraPDF's MuPDF renders these documents as expected. We've adapted ft2vert.c from the ezgdi project [1] to take advantage of the vert/vrt2 tables from TrueType fonts.

Since ezgdi is licensed under both FreeType license and GPLv3, you should be able to use that code for your commercial distribution as well. If you'd accept such code, I could provide a patch.

[1] https://code.google.com/p/ezgdi/
Comment 3 Tor Andersson 2014-06-02 11:30:53 UTC
Fix 694093: add vertical variant of CJK fallback font.

Replace the DroidSansFallback TTF files with a TTC that has two fonts:
The original and a copy where the OpenType 'vert' substitution
lookup has been pre-applied by copying the uniXXXX.vert glyph data
to uniXXXX.