• Stars
    star
    166
  • Rank 227,748 (Top 5 %)
  • Language
    HTML
  • License
    Other
  • Created about 8 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Unicode’s test suite for text rendering engines

Build Status

Text rendering tests

This is a test suite for text rendering engines. It is not easy to correctly display text, so we founded this project to help implementations to get this right.

$ brew install cmake ninja npm rust
$ git clone --recursive https://github.com/unicode-org/text-rendering-tests.git
$ cd text-rendering-tests
$ for engine in CoreText FreeStack TehreerStack fontkit OpenType.js Allsorts ; do python check.py --engine=$engine --output=reports/$engine.html ; done

Supported Platforms

Currently, the test suite supports six OpenType implementations:

It’s trivial to test other implementations; simply write a small wrapper tool. For the Go font library, see here. For the Rust font library, see here.

Test Cases

The test cases are defined in the testcases directory. It contains HTML snippets which describe each test, and define the rendering parameters together with the expected result.

For each test case, the check.py script parses the HTML snippet to extract the rendering parameters. Then, it runs a sub-process (written in C++, Objective C or JavaScript depending on the tested implementation) that writes the observed rendering in SVG format to Standard Output. Finally, the script checks whether the expected rendering matches the observed result. Currently, “matching” is implemented by iterating over SVG paths, allowing for maximally 1 font design unit of difference.

Contributing

Your contributions are very welcome; simply send pull requests via GitHub. A bot will ask you (on the GitHub review thread) to accept Unicode’s Contributor License Agreement by clicking on a web form. Alternatively, if you prefer paper, you can also send a signed paper copy of the agreement to Unicode.

More Repositories

1

icu

The home of the ICU project source code.
C++
2,111
star
2

icu4x

Solving i18n for client-side and resource-constrained environments.
Rust
1,078
star
3

cldr

The home of the Unicode Common Locale Data Repository
Java
828
star
4

last-resort-font

Last Resort Font
673
star
5

cldr-json

JSON Data from the Unicode CLDR Project
Shell
447
star
6

message-format-wg

Developing a standard for localizable message strings
231
star
7

unilex

Lexical data at Unicode
Clojure
63
star
8

unicodetools

home of unicodetools and https://util.unicode.org JSPs
HTML
51
star
9

icu-data

ICU Data Repository
Java
32
star
10

icu-docs

Docs (API, Userguide) for ICU
HTML
25
star
11

cldr-staging

Proposed production data for CLDR data
HTML
25
star
12

cjk-symbols

CJK Symbols
PostScript
22
star
13

icu-demos

sample apps for ICU (formerly icuapps)
Java
20
star
14

unihan-database

For review of draft Unihan database changes, removals, and additions by experts.
18
star
15

lstm_word_segmentation

Python code for training an LSTM model for word segmentation in Thai, Burmese, and similar languages.
Python
18
star
16

uk-source-ideographs

UK-Source Ideographs
11
star
17

jira-github-pr-check

Checks GitHub pull requests for valid and accepted Jira tickets. Used for ICU and CLDR
JavaScript
11
star
18

cldr-implementers-guide

Implementer's Guide for CLDR
9
star
19

uli-docs

ULI has been Archived, see https://unicode.org/uli
8
star
20

ml-confusables-generator

Generates confusables for Han script using ML techniques
Jupyter Notebook
8
star
21

rust-discuss

OmnICU-SC: For discussion of i18n in Rust.
7
star
22

unicode-org.github.io

top level index.html for https://unicode-org.github.io/
HTML
7
star
23

icu-docker

Dockerfiles for ICU development
Shell
6
star
24

icu4jni

New home of the (archived) ICU4JNI project.
Java
5
star
25

uli

ULI has been Archived, see https://unicode.org/uli
Python
4
star
26

icu-jira-safari

Note: GitHub provides this directly now.
JavaScript
4
star
27

icu-trac-tools

ICU’s trac plugins
Python
3
star
28

icu4x-docs

ICU4X Docs
HTML
3
star
29

conformance

Unicode & CLDR Data Driven Testing
Python
3
star
30

icu-trac2jira

ICU and CLDR’s Trac to JIRA conversion tool. Archived, not under active maintenance.
JavaScript
3
star
31

cldr-apps-webdriver

CLDR Survey Tool WebDriver Test Framework
Java
2
star
32

icu-remunge-svndump

munger for svndump — to be used for pre-combining ICU svn trees
Perl
2
star
33

icu-perf

ICU performance test results. Maintained by ICU-TC
JavaScript
2
star
34

template-repo

Template Repository for Unicode projects
1
star