- #!/usr/bin/php5
- <?php
-
- function unistr_to_ords($str, $encoding = 'UTF-8'){
- $str = mb_convert_encoding($str, "UCS-4BE", $encoding);
- $result = array();
-
- for ($i = 0; $i < mb_strlen($str, "UCS-4BE"); $i++){
- $c = mb_substr($str, $i, 1, "UCS-4BE");
- $val = unpack("N", $c);
- $result[] = $val[1];
- }
- return $result;
- }
-
-
- if ($argc < 3) {
- die("Too few arguments.\nUsage: cmd <path of font> <utf8 string>\n");
- }
-
- $cv = caca_create_canvas(0, 0);
-
- if (!caca_canvas_set_figfont($cv, $argv[1])) {
- die("Could not open font\n");
- }
-
- $chars = unistr_to_ords($argv[2]);
- $color = 0;
- foreach ($chars as $c) {
- caca_set_color_ansi($cv, 1 + (($color += 4) % 15), CACA_TRANSPARENT);
- caca_put_figchar($cv, $c);
- }
-
- echo caca_export_string($cv, "utf8");
-
- ?>
|