diff options
author | Mattias Andrée <maandree@kth.se> | 2023-01-07 16:07:37 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2023-01-07 16:07:37 +0100 |
commit | 56dd06e728c684cc3d3711e7369619d7ce1fc337 (patch) | |
tree | 182855521a704edea1ed740f36e15fdcd2ca3421 | |
parent | Add specifications to todos (diff) | |
download | libfonts-56dd06e728c684cc3d3711e7369619d7ce1fc337.tar.gz libfonts-56dd06e728c684cc3d3711e7369619d7ce1fc337.tar.bz2 libfonts-56dd06e728c684cc3d3711e7369619d7ce1fc337.tar.xz |
Add subpixels diagrams
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rw-r--r-- | LICENSE | 2 | ||||
-rw-r--r-- | libfonts.h | 340 |
2 files changed, 341 insertions, 1 deletions
@@ -1,6 +1,6 @@ ISC License -© 2021, 2022 Mattias Andrée <maandree@kth.se> +© 2021, 2022, 2023 Mattias Andrée <maandree@kth.se> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above @@ -85,6 +85,25 @@ enum libfonts_subpixel_order { * Output is an RGB output device, but the subpixels * are not ordered in a grid of rectangles or subpixels * are disjoint + * + * This includes the patterns (with disjoint subpixels) + * + * ┌───┬───┐ (LIBFONTS_SUBPIXEL_ORDER_RG_BR, + * │ 1 │ 2 │ LIBFONTS_SUBPIXEL_ORDER_RB_GR, + * ├───┼───┤ LIBFONTS_SUBPIXEL_ORDER_GR_BG, + * │ 3 │ 1 │ LIBFONTS_SUBPIXEL_ORDER_GB_RG, + * └───┴───┘ LIBFONTS_SUBPIXEL_ORDER_BR_GB, + * LIBFONTS_SUBPIXEL_ORDER_BG_RB) + * and + * (LIBFONTS_SUBPIXEL_ORDER_RG_GB, + * ┌───┬───┐ LIBFONTS_SUBPIXEL_ORDER_RB_BG, + * │ 1 │ 2 │ LIBFONTS_SUBPIXEL_ORDER_GR_RB, + * ├───┼───┤ LIBFONTS_SUBPIXEL_ORDER_GB_BR, + * │ 2 │ 3 │ LIBFONTS_SUBPIXEL_ORDER_BR_RG, + * └───┴───┘ LIBFONTS_SUBPIXEL_ORDER_BG_GR) + * + * as well trianglar arrangements as found on many + * CRT-monitors */ LIBFONTS_SUBPIXEL_ORDER_NONLINEAR, @@ -94,49 +113,370 @@ enum libfonts_subpixel_order { */ LIBFONTS_SUBPIXEL_ORDER_OTHER, + + + /** + * ┌───┬───┬───┐ + * │ │ │ │ + * │ │ │ │ + * │ R │ G │ B │ + * │ │ │ │ + * │ │ │ │ + * └───┴───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_RGB, /* horizontal stacked vertically stripes, red to the left, blue to the right */ + + /** + * ┌───────────┐ + * │ R │ + * ├───────────┤ + * │ G │ + * ├───────────┤ + * │ B │ + * └───────────┘ + */ LIBFONTS_SUBPIXEL_ORDER_R_G_B, /* vertically stacked horizontal stripes, red at the top, blue at the bottom */ + + /** + * ┌───┬───┬───┐ + * │ │ │ │ + * │ │ │ │ + * │ B │ G │ R │ + * │ │ │ │ + * │ │ │ │ + * └───┴───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_BGR, + + /** + * ┌───────────┐ + * │ B │ + * ├───────────┤ + * │ G │ + * ├───────────┤ + * │ R │ + * └───────────┘ + */ LIBFONTS_SUBPIXEL_ORDER_B_G_R, + + + /** + * ┌───┬───┬───┐ + * │ │ │ │ + * │ │ │ │ + * │ G │ B │ R │ + * │ │ │ │ + * │ │ │ │ + * └───┴───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_GBR, + + /** + * ┌───────────┐ + * │ G │ + * ├───────────┤ + * │ B │ + * ├───────────┤ + * │ R │ + * └───────────┘ + */ LIBFONTS_SUBPIXEL_ORDER_G_B_R, + + /** + * ┌───┬───┬───┐ + * │ │ │ │ + * │ │ │ │ + * │ R │ B │ G │ + * │ │ │ │ + * │ │ │ │ + * └───┴───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_RBG, + + /** + * ┌───────────┐ + * │ R │ + * ├───────────┤ + * │ B │ + * ├───────────┤ + * │ G │ + * └───────────┘ + */ LIBFONTS_SUBPIXEL_ORDER_R_B_G, + + + /** + * ┌───┬───┬───┐ + * │ │ │ │ + * │ │ │ │ + * │ B │ R │ G │ + * │ │ │ │ + * │ │ │ │ + * └───┴───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_BRG, + + /** + * ┌───────────┐ + * │ B │ + * ├───────────┤ + * │ R │ + * ├───────────┤ + * │ G │ + * └───────────┘ + */ LIBFONTS_SUBPIXEL_ORDER_B_R_G, + + /** + * ┌───┬───┬───┐ + * │ │ │ │ + * │ │ │ │ + * │ G │ R │ B │ + * │ │ │ │ + * │ │ │ │ + * └───┴───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_GRB, + + /** + * ┌───────────┐ + * │ G │ + * ├───────────┤ + * │ R │ + * ├───────────┤ + * │ B │ + * └───────────┘ + */ LIBFONTS_SUBPIXEL_ORDER_G_R_B, + + + /** + * ┌───────┐ + * │ R │ + * ├───┬───┤ + * │ G │ B │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_RR_GB, + + /** + * ┌───┬───┐ + * │ G │ │ + * ├───┤ R │ + * │ B │ │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_GR_BR, + + /** + * ┌───┬───┐ + * │ B │ G │ + * ├───┴───┤ + * │ R │ + * └───────┘ + */ LIBFONTS_SUBPIXEL_ORDER_BG_RR, + + /** + * ┌───┬───┐ + * │ │ B │ + * │ R ├───┤ + * │ │ G │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_RB_RG, + + + /** + * ┌───────┐ + * │ R │ + * ├───┬───┤ + * │ B │ G │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_RR_BG, + + /** + * ┌───┬───┐ + * │ B │ │ + * ├───┤ R │ + * │ G │ │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_BR_GR, + + /** + * ┌───┬───┐ + * │ G │ B │ + * ├───┴───┤ + * │ R │ + * └───────┘ + */ LIBFONTS_SUBPIXEL_ORDER_GB_RR, + + /** + * ┌───┬───┐ + * │ │ G │ + * │ R ├───┤ + * │ │ B │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_RG_RB, + + + /** + * ┌───────┐ + * │ G │ + * ├───┬───┤ + * │ R │ B │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_GG_RB, + + /** + * ┌───┬───┐ + * │ R │ │ + * ├───┤ G │ + * │ B │ │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_RG_BG, + + /** + * ┌───┬───┐ + * │ B │ R │ + * ├───┴───┤ + * │ G │ + * └───────┘ + */ LIBFONTS_SUBPIXEL_ORDER_BR_GG, + + /** + * ┌───┬───┐ + * │ │ B │ + * │ G ├───┤ + * │ │ R │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_GB_GR, + + + /** + * ┌───────┐ + * │ G │ + * ├───┬───┤ + * │ B │ R │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_GG_BR, + + /** + * ┌───┬───┐ + * │ B │ │ + * ├───┤ G │ + * │ R │ │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_BG_RG, + + /** + * ┌───┬───┐ + * │ R │ B │ + * ├───┴───┤ + * │ G │ + * └───────┘ + */ LIBFONTS_SUBPIXEL_ORDER_RB_GG, + + /** + * ┌───┬───┐ + * │ │ R │ + * │ G ├───┤ + * │ │ B │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_GR_GB, + + + /** + * ┌───────┐ + * │ B │ + * ├───┬───┤ + * │ R │ G │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_BB_RG, + + /** + * ┌───┬───┐ + * │ R │ │ + * ├───┤ B │ + * │ G │ │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_RB_GB, + + /** + * ┌───┬───┐ + * │ G │ R │ + * ├───┴───┤ + * │ B │ + * └───────┘ + */ LIBFONTS_SUBPIXEL_ORDER_GR_BB, + + /** + * ┌───┬───┐ + * │ │ G │ + * │ B ├───┤ + * │ │ R │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_BG_BR, + + + /** + * ┌───────┐ + * │ B │ + * ├───┬───┤ + * │ G │ R │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_BB_GR, + + /** + * ┌───┬───┐ + * │ G │ │ + * ├───┤ B │ + * │ R │ │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_GB_RB, + + /** + * ┌───┬───┐ + * │ R │ G │ + * ├───┴───┤ + * │ B │ + * └───────┘ + */ LIBFONTS_SUBPIXEL_ORDER_RG_BB, + + /** + * ┌───┬───┐ + * │ │ R │ + * │ B ├───┤ + * │ │ G │ + * └───┴───┘ + */ LIBFONTS_SUBPIXEL_ORDER_BR_BG }; |