From ae96f8b7db460f46cb86445d245127467b3b3e46 Mon Sep 17 00:00:00 2001
From: Ziusudra <ziusudra@gmail.com>
Date: Sat, 15 Dec 2012 22:37:33 -0700
Subject: [PATCH 5/9] Added other ACS characters for which the DejaVu font has
a glyph
---
src/apps/terminal/TermParse.cpp | 53 ++++++++++++++++++++++++++++++++++++++-
src/apps/terminal/VTPrsTbl.c | 48 +++++++++++++++++------------------
src/libs/termcap/termcap.haiku | 4 +--
3 files changed, 78 insertions(+), 27 deletions(-)
diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp
index 9f02d54..a0fb4f1 100644
a
|
b
|
TermParse::EscParse()
|
481 | 481 | // Special characters and line drawing |
482 | 482 | // terminfo smacs=\E(0, rmacs=\E(B, acsc=aajjkk... |
483 | 483 | // termcap as=\E(0:ae=\E(B:ac=aajjkk... |
484 | | // acsc/ac should include each letter we have a case for |
| 484 | // acsc/ac should include each character we have a case for |
| 485 | // DejaVu currently has no glyph for: |
| 486 | // o ACS_S1 \xE2\x8E\xBA |
| 487 | // p ACS_S3 \xE2\x8E\xBB |
| 488 | // r ACS_S7 \xE2\x8E\xBC |
| 489 | // s ACS_S9 \xE2\x8E\xBD |
485 | 490 | switch (c) { |
| 491 | case '+': // ACS_RARROW |
| 492 | fBuffer->InsertChar("\xE2\x86\x92",3,fAttr); |
| 493 | break; |
| 494 | case ',': // ACS_LARROW |
| 495 | fBuffer->InsertChar("\xE2\x86\x90",3,fAttr); |
| 496 | break; |
| 497 | case '-': // ACS_UARROW |
| 498 | fBuffer->InsertChar("\xE2\x86\x91",3,fAttr); |
| 499 | break; |
| 500 | case '.': // ACS_DARROW |
| 501 | fBuffer->InsertChar("\xE2\x86\x93",3,fAttr); |
| 502 | break; |
| 503 | case '0': // ACS_BLOCK |
| 504 | fBuffer->InsertChar("\xE2\x96\xAE",3,fAttr); |
| 505 | break; |
| 506 | case '`': // ACS_DIAMOND |
| 507 | fBuffer->InsertChar("\xE2\x97\x86",3,fAttr); |
| 508 | break; |
486 | 509 | case 'a': // ACS_CKBOARD |
| 510 | case 'h': // ACS_BOARD |
487 | 511 | fBuffer->InsertChar("\xE2\x96\x92",3,fAttr); |
488 | 512 | break; |
| 513 | case 'f': // ACS_DEGREE |
| 514 | fBuffer->InsertChar("\xC2\xB0",2,fAttr); |
| 515 | break; |
| 516 | case 'g': // ACS_PLMINUS |
| 517 | fBuffer->InsertChar("\xC2\xB1",2,fAttr); |
| 518 | break; |
| 519 | case 'i': // ACS_LANTERN |
| 520 | fBuffer->InsertChar("\xE2\x98\x83",3,fAttr); |
| 521 | break; |
489 | 522 | case 'j': // ACS_LRCORNER |
490 | 523 | fBuffer->InsertChar("\xE2\x94\x98",3,fAttr); |
491 | 524 | break; |
… |
… |
TermParse::EscParse()
|
519 | 552 | case 'x': // ACS_VLINE |
520 | 553 | fBuffer->InsertChar("\xE2\x94\x82",3,fAttr); |
521 | 554 | break; |
| 555 | case 'y': // ACS_LEQUAL |
| 556 | fBuffer->InsertChar("\xE2\x89\xA4",3,fAttr); |
| 557 | break; |
| 558 | case 'z': // ACS_GEQUAL |
| 559 | fBuffer->InsertChar("\xE2\x89\xA5",3,fAttr); |
| 560 | break; |
| 561 | case '{': // ACS_PI |
| 562 | fBuffer->InsertChar("\xCF\x80",2,fAttr); |
| 563 | break; |
| 564 | case '|': // ACS_NEQUAL |
| 565 | fBuffer->InsertChar("\xE2\x89\xA0",3,fAttr); |
| 566 | break; |
| 567 | case '}': // ACS_STERLING |
| 568 | fBuffer->InsertChar("\xC2\xA3",2,fAttr); |
| 569 | break; |
| 570 | case '~': // ACS_BULLET |
| 571 | fBuffer->InsertChar("\xC2\xB7",2,fAttr); |
| 572 | break; |
522 | 573 | default: |
523 | 574 | fBuffer->InsertChar((char)c, fAttr); |
524 | 575 | } |
diff --git a/src/apps/terminal/VTPrsTbl.c b/src/apps/terminal/VTPrsTbl.c
index 1747432..c55970d 100644
a
|
b
|
|
1 | 1 | /* |
2 | 2 | * Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net> |
3 | | * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. |
| 3 | * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. |
4 | 4 | * |
5 | 5 | * Permission is hereby granted, free of charge, to any person obtaining |
6 | 6 | * a copy of this software and associated documentation files or portions |
… |
… |
CASE_PRINT,
|
115 | 115 | CASE_PRINT, |
116 | 116 | CASE_PRINT, |
117 | 117 | CASE_PRINT, |
118 | | CASE_PRINT, |
| 118 | CASE_PRINT, |
119 | 119 | /* @ A B C */ |
120 | 120 | CASE_PRINT, |
121 | 121 | CASE_PRINT, |
… |
… |
CASE_PRINT_CS96,
|
440 | 440 | CASE_PRINT_CS96, |
441 | 441 | CASE_PRINT_CS96, |
442 | 442 | CASE_PRINT_CS96, |
443 | | CASE_PRINT_CS96, |
| 443 | CASE_PRINT_CS96, |
444 | 444 | /* @ A B C */ |
445 | 445 | CASE_PRINT_CS96, |
446 | 446 | CASE_PRINT_CS96, |
… |
… |
CASE_PRINT,
|
765 | 765 | CASE_PRINT, |
766 | 766 | CASE_PRINT, |
767 | 767 | CASE_PRINT, |
768 | | CASE_PRINT, |
| 768 | CASE_PRINT, |
769 | 769 | /* @ A B C */ |
770 | 770 | CASE_PRINT, |
771 | 771 | CASE_PRINT, |
… |
… |
CASE_PRINT,
|
1090 | 1090 | CASE_PRINT, |
1091 | 1091 | CASE_PRINT, |
1092 | 1092 | CASE_PRINT, |
1093 | | CASE_PRINT, |
| 1093 | CASE_PRINT, |
1094 | 1094 | /* @ A B C */ |
1095 | 1095 | CASE_PRINT, |
1096 | 1096 | CASE_PRINT, |
… |
… |
CASE_IGNORE,
|
3028 | 3028 | CASE_IGNORE, |
3029 | 3029 | CASE_IGNORE, |
3030 | 3030 | /* CAN EM SUB ESC */ |
3031 | | CASE_GROUND_STATE, |
| 3031 | CASE_GROUND_STATE, |
3032 | 3032 | CASE_IGNORE, |
3033 | 3033 | CASE_GROUND_STATE, |
3034 | 3034 | CASE_IGNORE_ESC, |
… |
… |
CASE_PRINT,
|
4805 | 4805 | CASE_PRINT, |
4806 | 4806 | CASE_PRINT, |
4807 | 4807 | CASE_PRINT, |
4808 | | CASE_PRINT, |
| 4808 | CASE_PRINT, |
4809 | 4809 | /* @ A B C */ |
4810 | 4810 | CASE_PRINT, |
4811 | 4811 | CASE_PRINT, |
… |
… |
CASE_PRINT,
|
5106 | 5106 | CASE_PRINT, |
5107 | 5107 | CASE_PRINT, |
5108 | 5108 | CASE_PRINT, |
5109 | | CASE_PRINT, |
| 5109 | CASE_PRINT_GRA, |
5110 | 5110 | /* , - . / */ |
5111 | | CASE_PRINT, |
5112 | | CASE_PRINT, |
5113 | | CASE_PRINT, |
| 5111 | CASE_PRINT_GRA, |
| 5112 | CASE_PRINT_GRA, |
| 5113 | CASE_PRINT_GRA, |
5114 | 5114 | CASE_PRINT, |
5115 | 5115 | /* 0 1 2 3 */ |
5116 | | CASE_PRINT, |
| 5116 | CASE_PRINT_GRA, |
5117 | 5117 | CASE_PRINT, |
5118 | 5118 | CASE_PRINT, |
5119 | 5119 | CASE_PRINT, |
… |
… |
CASE_PRINT,
|
5131 | 5131 | CASE_PRINT, |
5132 | 5132 | CASE_PRINT, |
5133 | 5133 | CASE_PRINT, |
5134 | | CASE_PRINT, |
| 5134 | CASE_PRINT, |
5135 | 5135 | /* @ A B C */ |
5136 | 5136 | CASE_PRINT, |
5137 | 5137 | CASE_PRINT, |
… |
… |
CASE_PRINT,
|
5173 | 5173 | CASE_PRINT, |
5174 | 5174 | CASE_PRINT, |
5175 | 5175 | /* ` a b c */ |
5176 | | CASE_PRINT, |
| 5176 | CASE_PRINT_GRA, |
5177 | 5177 | CASE_PRINT_GRA, |
5178 | 5178 | CASE_PRINT, |
5179 | 5179 | CASE_PRINT, |
5180 | 5180 | /* d e f g */ |
5181 | 5181 | CASE_PRINT, |
5182 | 5182 | CASE_PRINT, |
5183 | | CASE_PRINT, |
5184 | | CASE_PRINT, |
| 5183 | CASE_PRINT_GRA, |
| 5184 | CASE_PRINT_GRA, |
5185 | 5185 | /* h i j k */ |
5186 | | CASE_PRINT, |
5187 | | CASE_PRINT, |
| 5186 | CASE_PRINT_GRA, |
| 5187 | CASE_PRINT_GRA, |
5188 | 5188 | CASE_PRINT_GRA, |
5189 | 5189 | CASE_PRINT_GRA, |
5190 | 5190 | /* l m n o */ |
… |
… |
CASE_PRINT_GRA,
|
5204 | 5204 | CASE_PRINT_GRA, |
5205 | 5205 | /* x y z { */ |
5206 | 5206 | CASE_PRINT_GRA, |
5207 | | CASE_PRINT, |
5208 | | CASE_PRINT, |
5209 | | CASE_PRINT, |
| 5207 | CASE_PRINT_GRA, |
| 5208 | CASE_PRINT_GRA, |
| 5209 | CASE_PRINT_GRA, |
5210 | 5210 | /* | } ~ DEL */ |
5211 | | CASE_PRINT, |
5212 | | CASE_PRINT, |
5213 | | CASE_PRINT, |
| 5211 | CASE_PRINT_GRA, |
| 5212 | CASE_PRINT_GRA, |
| 5213 | CASE_PRINT_GRA, |
5214 | 5214 | CASE_IGNORE, |
5215 | 5215 | /* 0x80 0x81 0x82 0x83 */ |
5216 | 5216 | CASE_UTF8_INSTRING, |
diff --git a/src/libs/termcap/termcap.haiku b/src/libs/termcap/termcap.haiku
index e9073ea..b66ab42 100644
a
|
b
|
haiku|Haiku Terminal:\
|
4 | 4 | :Co#256:co#80:it#8:li#25:pa#32767:\ |
5 | 5 | :@7=\EOF:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ |
6 | 6 | :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ |
7 | | :Km=\E[M:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\ |
8 | | :UP=\E[%dA:ac=aajjkkllmmnnqqttuuvvwwxx:\ |
| 7 | :Km=\E[M:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ |
| 8 | :ac=++,,--..00``aaffgghhiijjkkllmmnnqqttuuvvwwxxyyzz{{||}}~~:\ |
9 | 9 | :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ |
10 | 10 | :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ |
11 | 11 | :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ |