| .TH OTS-SIDE-BY-SIDE "1" "May 2021" "OpenType Sanitizer" "User Commands" |
| .SH NAME |
| ots-side-by-side \- font quality checker |
| .SH SYNOPSIS |
| .B ots-side-by-side |
| \fI\,FONT_FILE\/\fR |
| .SH DESCRIPTION |
| .PP |
| ots-side-by-side is a program which renders some characters (ASCII, Latin-1, CJK) |
| using both original font and transcoded font and checks that the two rendering |
| results are exactly equal. |
| .PP |
| The following Unicode characters are used during the test: |
| .PP |
| .RS |
| .nf |
| 0x0020\ \-\ 0x007E\ \ //\ Basic\ Latin |
| 0x00A1\ \-\ 0x017F\ \ //\ Latin-1 |
| 0x1100\ \-\ 0x11FF\ \ //\ Hangul |
| 0x3040\ \-\ 0x309F\ \ //\ Japanese\ HIRAGANA\ letters |
| 0x3130\ \-\ 0x318F\ \ //\ Hangul |
| 0x4E00\ \-\ 0x4F00\ \ //\ CJK\ Kanji/Hanja |
| 0xAC00\ \-\ 0xAD00\ \ //\ Hangul |
| .fi |
| .RE |
| .PP |
| This tool uses FreeType library. |
| .PP |
| Note: This tool doesn\(cqt check kerning (GPOS/kern) nor font substitution |
| (GSUB). |
| These should be tested in Layout tests if necessary. |
| .SH EXAMPLES |
| .RS |
| .nf |
| $\ ./ots-side-by-side\ linux/kochi-gothic.ttf\ \ #\ no\ problem |
| $\ ./ots-side-by-side\ free/kredit1.ttf\ \ \ \ \ \ \ \ #\ this\ is\ known\ issue\ of\ OTS. |
| bitmap\ metrics\ doesn't\ match!\ (14,\ 57),\ (37,\ 45) |
| EXPECTED: |
| |
| \ \ +#######*. |
| \ +##########+ |
| \&.###+.#.\ \ \ .#. |
| *#*\ \ \ #\ \ \ \ \ #* |
| ##.\ \ \ #\ \ \ \ \ ## |
| ##\ \ \ \ #\ \ \ \ \ ## |
| ##\ \ \ \ #\ \ \ \ \ ## |
| ##\ \ \ \ #.\ \ \ \ ## |
| ##.\ \ \ #.\ \ \ .## |
| ##.\ \ \ #.\ \ \ .## |
| *#+\ \ \ *+\ \ \ +#* |
| *#+\ \ \ *+\ \ \ +#* |
| *#+\ \ \ *+\ \ \ +#* |
| *#+\ \ \ *+\ \ \ +#* |
| *#+\ \ \ *+\ \ \ *#* |
| *#+\ \ \ ++\ \ \ *#+ |
| +#*\ \ \ +*\ \ \ *#+ |
| +#*\ \ \ +*\ \ \ *#+ |
| +#*\ \ \ +*\ \ \ *#+ |
| +#*\ \ \ +*\ \ \ ##. |
| +#*\ \ \ +*\ \ \ ##. |
| \&.##\ \ \ .#\ \ \ ## |
| \&.##\ \ \ .#\ \ \ ## |
| \&.##\ \ \ .#\ \ \ ## |
| \ ##\ \ \ \ #\ \ \ ## |
| \ ##\ \ \ \ #\ \ \ ## |
| \ ##\ \ \ \ #\ \ .## |
| \ ##\ \ \ \ #\ \ .## |
| \ ##\ \ \ .#+\ +#* |
| \ ##\ \ +######* |
| \ ##.+#######* |
| \ *##########* |
| \ +##########+ |
| \ \ #########* |
| \ \ .######## |
| \ \ \ \ +####+ |
| |
| |
| |
| |
| |
| |
| \ \ .*######* |
| \ +##*.*##### |
| \&.##+.#+\ \ \ \ +# |
| *#*\ ##\ \ \ \ \ \ #+ |
| ##*###\ \ \ \ \ \ ## |
| ######\ \ \ \ \ \ ## |
| ##+.##+\ \ \ \ +## |
| ##\ \ ########## |
| ##\ \ +######### |
| ##\ \ \ +######## |
| *#.\ .########* |
| \&.#*\ #########. |
| \ +##########+ |
| \ \ +*######* |
| |
| ACTUAL: |
| |
| \ \ .*##*+ |
| \ +##+.##*. |
| \&.#*\ .##.+#* |
| *#\ \ ###\ \ \ *#+ |
| #*######+\ \ .*#+ |
| #########*.\ \ +#*. |
| ###########*\ \ \ +#* |
| *############+\ \ \ *#+ |
| +##############.\ \ .##. |
| \ *##############*\ \ \ +#* |
| \ \ +###############+\ \ \ *#+ |
| \ \ \ \ *###############+\ \ .*#+ |
| \ \ \ \ \ .###############*.\ \ +#*. |
| \ \ \ \ \ \ \ +###############*\ \ \ +#* |
| \ \ \ \ \ \ \ \ \ *###############+\ \ \ *#+ |
| \ \ \ \ \ \ \ \ \ \ .*###############+\ \ .*#+ |
| \ \ \ \ \ \ \ \ \ \ \ \ +###############*.\ \ +#* |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ +###############*\ \ \ ** |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *###############+\ \ #+ |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .###############*\ ## |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +############+\ \ ## |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +########*\ \ \ .## |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .######.\ \ \ +### |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +#####+\ \ \ .*#..# |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +#####*\ \ \ \ *###..# |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *#####.\ \ \ +#######* |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +#####+\ \ \ .*########. |
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ +#####*\ \ \ \ +#########* |
| \ \ \ \ \ \ \ \ \ \ \ \ \ *#####.\ \ \ +##########+ |
| \ \ \ \ \ \ \ \ \ \ \ +#####+\ \ \ \ *#########*. |
| \ \ \ \ \ \ \ \ \ .#####*\ \ \ \ +##########+ |
| \ \ \ \ \ \ \ \ *#####.\ \ \ +##########* |
| \ \ \ \ \ \ +#####+\ \ \ \ *#########*. |
| \ \ \ \ .#####*\ \ \ \ +##########+ |
| \ \ \ *#####+\ \ \ +##########* |
| \ .#*++#+\ \ \ \ *#########*. |
| \&.#+\ \ ##\ \ \ +##########+ |
| ****###+.##########* |
| ##################. |
| ###+\ \ *#########+ |
| ##\ \ \ +########* |
| *#+\ *########. |
| \ ##.#######+ |
| \ +#######* |
| \ \ \ *###*. |
| |
| |
| Glyph\ mismatch!\ (file:\ free/kredit1.ttf,\ U+0021,\ 100pt)! |
| .fi |
| .RE |
| .SH "REPORTING BUGS" |
| Report bugs to <https://github.com/khaledhosny/ots/issues> |
| .SH "SEE ALSO" |
| .BR ots-idempotent (1), |
| .BR ots-perf (1), |
| .BR ots-sanitize (1), |
| .BR ots-validator-checker (1) |