source: libcaca/trunk/caca-php/examples/unicode.php @ 3279

Last change on this file since 3279 was 3279, checked in by bsittler, 11 years ago

cli-only

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 4.3 KB
Line 
1#!/usr/bin/php5
2<?php
3/*
4 *  unicode       libcaca Unicode rendering test program
5 *  Copyright (c) 2008 Benjamin C. Wiley Sittler <bsittler@gmail.com>
6 *
7 *  This file is a Php port of "examples/unicode.c"
8 *  which is:
9 *  Copyright (c) 2006 Sam Hocevar <sam@zoy.org>
10 *                All Rights Reserved
11 *
12 *  $Id: unicode.php 3279 2008-11-04 05:22:24Z bsittler $
13 *
14 *  This program is free software. It comes without any warranty, to
15 *  the extent permitted by applicable law. You can redistribute it
16 *  and/or modify it under the terms of the Do What The Fuck You Want
17 *  To Public License, Version 2, as published by Sam Hocevar. See
18 *  http://sam.zoy.org/wtfpl/COPYING for more details.
19 */
20
21if (php_sapi_name() != "cli") {
22        die("You have to run this program with php-cli!\n");
23}
24
25$cv = caca_create_canvas(0, 0);
26if(! $cv)
27{
28        die("Can't created canvas\n");
29}
30$dp = caca_create_display($cv);
31if(! $dp)
32{
33        die("Can't create display\n");
34}
35caca_set_color_ansi($cv, CACA_WHITE, CACA_BLUE);
36caca_put_str($cv, 1, 1, "Basic Unicode support");
37
38caca_set_color_ansi($cv, CACA_DEFAULT, CACA_TRANSPARENT);
39caca_put_str($cv, 1, 2, "This is ASCII:    | abc DEF 123 !@# |");
40caca_put_str($cv, 1, 3, "This is Unicode:  | äßç δεφ ☺♥♀ ╞╬╗ |");
41caca_put_str($cv, 1, 4, "And this is, too: | ἀβϛ ΔЗҒ ᚴᛒᛯ ♩♔✈ |");
42
43caca_put_str($cv, 1, 5, "If the three lines do not have the same length, there is a bug somewhere.");
44
45caca_set_color_ansi($cv, CACA_WHITE, CACA_BLUE);
46caca_put_str($cv, 1, 7, "Gradient glyphs");
47
48caca_set_color_ansi($cv, CACA_DEFAULT, CACA_TRANSPARENT);
49caca_put_str($cv, 31,  8, "  0%");
50caca_put_str($cv, 31,  9, " 25%");
51caca_put_str($cv, 31, 10, " 50%");
52caca_put_str($cv, 31, 11, " 75%");
53caca_put_str($cv, 31, 12, "100%");
54
55caca_set_color_ansi($cv, CACA_LIGHTRED, CACA_LIGHTGREEN);
56caca_put_str($cv, 1,  8, "                             ");
57caca_put_str($cv, 1,  9, "░░░░░░░░░░░░░░░░░░░░░░░░░░░░░");
58caca_put_str($cv, 1, 10, "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒");
59caca_put_str($cv, 1, 11, "▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓");
60caca_put_str($cv, 1, 12, "█████████████████████████████");
61
62caca_set_color_ansi($cv, CACA_LIGHTGREEN, CACA_LIGHTRED);
63caca_put_str($cv, 36,  8, "█████████████████████████████");
64caca_put_str($cv, 36,  9, "▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓");
65caca_put_str($cv, 36, 10, "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒");
66caca_put_str($cv, 36, 11, "░░░░░░░░░░░░░░░░░░░░░░░░░░░░░");
67caca_put_str($cv, 36, 12, "                             ");
68
69caca_set_color_ansi($cv, CACA_WHITE, CACA_BLUE);
70caca_put_str($cv, 1, 14, "Double width characters");
71
72caca_set_color_ansi($cv, CACA_LIGHTRED, CACA_TRANSPARENT);
73caca_put_str($cv, 1, 15, "| ドラゴン ボーレ |");
74caca_set_color_ansi($cv, CACA_DEFAULT, CACA_TRANSPARENT);
75caca_put_str($cv, 1, 16, "| ()()()() ()()() |");
76caca_set_color_ansi($cv, CACA_YELLOW, CACA_TRANSPARENT);
77caca_put_str($cv, 1, 17, "| ドラゴン");
78caca_put_str($cv, 12, 17, "ボーレ |");
79
80caca_set_color_ansi($cv, CACA_DEFAULT, CACA_TRANSPARENT);
81caca_put_str($cv, 1, 18, "If the three lines do not have the same length, there is a bug somewhere.");
82
83caca_put_str($cv, 1, 20, "CP437 glyphs: ☺ ☻ ♥ ♦ ♣ ♠ • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼ ► ◄ ↕ ‼ ¶ § ▬ ↨ ↑ ↓ → ← ∟ ↔ ▲ ▼");
84caca_put_str($cv, 1, 21, "more CP437: α ß Γ π Σ σ µ τ Φ Θ Ω δ ∞ φ ε ∩ ≡ ± ≥ ≤ ⌠ ⌡ ÷ ≈ ° ∙ · √ ⁿ ² ■");
85caca_put_str($cv, 1, 22, "drawing blocks: ███ ▓▓▓ ▒▒▒ ░░░ ▀ ▄ ▌ ▐ █ ▖ ▗ ▘ ▝ ▚ ▞ ▙ ▛ ▜ ▟ ─ │ ┌ ┐ └ ┘ ├ ┤");
86caca_put_str($cv, 1, 23, "more drawing: ┬ ┴ ┼ ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬");
87caca_put_str($cv, 1, 24, "misc Unicode: ● ☭ ☮ ☯ ♔ ♛ ♙ ♞ ⚒ ⚓ ⚠");
88
89caca_refresh_display($dp);
90
91caca_get_event($dp, CACA_EVENT_KEY_PRESS, -1);
92
93?>
Note: See TracBrowser for help on using the repository browser.