OTS-SIDE-BY-SIDE(1)

πŸ’… NAME πŸ’…

okay so bestie, ots-side-by-side β€” she's a font quality checker ✨ that's literally her whole job description


🌸 SYNOPSIS 🌸

ots-side-by-side FONT_FILE

✨ DESCRIPTION ✨

so ots-side-by-side is this program that renders a bunch of characters (ASCII, Latin-1, CJK, the whole squad) using both the original font and the transcoded font, and then it checks that the two rendering results are exactly equal. like, byte-for-byte, no cap. if they match? slay. if they don't? bestie we have a problem πŸ”₯

the following Unicode characters get used during the test, and yes I'm listing all of them because we don't skip:

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

this tool uses the FreeType library πŸ¦‹ iykyk

⚠️ note, bestie: this tool does not check kerning (GPOS/kern) nor font substitution (GSUB). those should be tested in Layout tests if necessary. not her department, she's just doing her thing πŸŽ€

πŸŽ€ EXAMPLES πŸŽ€

$ ./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)!

so yeah, that first one's giving flawless πŸ’š and the second one is a whole situation 😭 but it's a known issue of OTS, so. not her fault, periodt.


πŸ™ˆ REPORTING BUGS πŸ™ˆ

found a bug? tell the girlies, they'll handle it: <https://github.com/khaledhosny/ots/issues> 🫢


⭐ SEE ALSO ⭐


okay that's the whole page, bestie!! this one's from OpenType Sanitizer, dated May 2021 β€” go forth and check those fonts, you've got this πŸ’–βœ¨πŸŒˆ