From 342d4d5c1664883fc93fbff84db37457bbefb76d Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Tue, 28 Apr 2020 19:16:41 +0200 Subject: Add README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- README | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..7c5591e --- /dev/null +++ b/README @@ -0,0 +1,75 @@ +libskrift is a text drawing library for C that is based on libschrift. + +The name: + + Schrift in libschift is German for “font” (can also mean “scripture”), + skrift in libskrift is Swedish for “scripture” (cannot mean “font”). + + +Currently implemented: + + Anti-aliased rendering. + + Subpixel rendering (RGB, BGR, both horizontal and vertical). + + DPI support. (Points, inches, and millimeters can be + exactly converted pixels.) + (Both horizonal and vertical resolution can be specified.) + + Drawing coloured text with 3 primaries, alpha and opacity, + (100 % opacity but 0 % alpha will, when drawing on an opaque + surface cut out the text so it is transparent instead of + opaque where the text is.) + + Drawing on RGB, XRGB, ARGB, and RGBA with 8-bit, 16-bit, + 32-bit, and 64-bit subpixels, RGB, ARGB, and RGBA with + `float`, `double`, and `long double`, with either + premultipled or non-premultipied alpha. + (The "RGB" in all these formats can be any primitive, but + the screen's is assumed for subpixel rendering, pre- and + postprocessors can be used to change colour space if + required.) + + Drawing on surfaces encoded with different endians: host + endian, big endian, or little endian, either on pixel level + or subpixel level. + + sRGB gamma function. + + +Pending support in libschift: + + Aliased rendering. + + Hinting. + (Better subpixel rendering requires subpixel aware hinting.) + + Affine transformations on glyphs, texts, part of outline. + + Kerning using font information. + + Proper grapheme cluster support. + + +Not implemented yet + + Glyph caching. + + Normalise text when glyphs ar missing. + + Fallback fonts. + + Font metrics. + + Autokerning. + + Vertical text. + + Inter-character spacing. + + +Out of scope: + + Bidirection text. + + Text justification. -- cgit v1.2.3-70-g09d2