blob: d21d9aaab1d25475d1f2f3f70c3058a58c203e2e [file] [log] [blame]
.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)