Ticket #9293: 0005-Added-other-ACS-characters-for-which-the-DejaVu-font.patch

File 0005-Added-other-ACS-characters-for-which-the-DejaVu-font.patch, 6.4 KB (added by Ziusudra, 11 years ago)
  • src/apps/terminal/TermParse.cpp

    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()  
    481481                    // Special characters and line drawing
    482482                    // terminfo smacs=\E(0, rmacs=\E(B, acsc=aajjkk...
    483483                    // 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
    485490                    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;
    486509                        case 'a': // ACS_CKBOARD
     510                        case 'h': // ACS_BOARD
    487511                            fBuffer->InsertChar("\xE2\x96\x92",3,fAttr);
    488512                            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;
    489522                        case 'j': // ACS_LRCORNER
    490523                            fBuffer->InsertChar("\xE2\x94\x98",3,fAttr);
    491524                            break;
    TermParse::EscParse()  
    519552                        case 'x': // ACS_VLINE
    520553                            fBuffer->InsertChar("\xE2\x94\x82",3,fAttr);
    521554                            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;
    522573                        default:
    523574                            fBuffer->InsertChar((char)c, fAttr);
    524575                    }
  • src/apps/terminal/VTPrsTbl.c

    diff --git a/src/apps/terminal/VTPrsTbl.c b/src/apps/terminal/VTPrsTbl.c
    index 1747432..c55970d 100644
    a b  
    11/*
    22 * 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.
    44 *
    55 * Permission is hereby granted, free of charge, to any person obtaining
    66 * a copy of this software and associated documentation files or portions
    CASE_PRINT,  
    115115CASE_PRINT,
    116116CASE_PRINT,
    117117CASE_PRINT,
    118 CASE_PRINT, 
     118CASE_PRINT,
    119119/*  @       A       B       C   */
    120120CASE_PRINT,
    121121CASE_PRINT,
    CASE_PRINT_CS96,  
    440440CASE_PRINT_CS96,
    441441CASE_PRINT_CS96,
    442442CASE_PRINT_CS96,
    443 CASE_PRINT_CS96, 
     443CASE_PRINT_CS96,
    444444/*  @       A       B       C   */
    445445CASE_PRINT_CS96,
    446446CASE_PRINT_CS96,
    CASE_PRINT,  
    765765CASE_PRINT,
    766766CASE_PRINT,
    767767CASE_PRINT,
    768 CASE_PRINT, 
     768CASE_PRINT,
    769769/*  @       A       B       C   */
    770770CASE_PRINT,
    771771CASE_PRINT,
    CASE_PRINT,  
    10901090CASE_PRINT,
    10911091CASE_PRINT,
    10921092CASE_PRINT,
    1093 CASE_PRINT, 
     1093CASE_PRINT,
    10941094/*  @       A       B       C   */
    10951095CASE_PRINT,
    10961096CASE_PRINT,
    CASE_IGNORE,  
    30283028CASE_IGNORE,
    30293029CASE_IGNORE,
    30303030/*  CAN     EM      SUB     ESC */
    3031 CASE_GROUND_STATE, 
     3031CASE_GROUND_STATE,
    30323032CASE_IGNORE,
    30333033CASE_GROUND_STATE,
    30343034CASE_IGNORE_ESC,
    CASE_PRINT,  
    48054805CASE_PRINT,
    48064806CASE_PRINT,
    48074807CASE_PRINT,
    4808 CASE_PRINT, 
     4808CASE_PRINT,
    48094809/*  @       A       B       C   */
    48104810CASE_PRINT,
    48114811CASE_PRINT,
    CASE_PRINT,  
    51065106CASE_PRINT,
    51075107CASE_PRINT,
    51085108CASE_PRINT,
    5109 CASE_PRINT,
     5109CASE_PRINT_GRA,
    51105110/*  ,       -       .       /   */
    5111 CASE_PRINT,
    5112 CASE_PRINT,
    5113 CASE_PRINT,
     5111CASE_PRINT_GRA,
     5112CASE_PRINT_GRA,
     5113CASE_PRINT_GRA,
    51145114CASE_PRINT,
    51155115/*  0       1       2       3   */
    5116 CASE_PRINT,
     5116CASE_PRINT_GRA,
    51175117CASE_PRINT,
    51185118CASE_PRINT,
    51195119CASE_PRINT,
    CASE_PRINT,  
    51315131CASE_PRINT,
    51325132CASE_PRINT,
    51335133CASE_PRINT,
    5134 CASE_PRINT, 
     5134CASE_PRINT,
    51355135/*  @       A       B       C   */
    51365136CASE_PRINT,
    51375137CASE_PRINT,
    CASE_PRINT,  
    51735173CASE_PRINT,
    51745174CASE_PRINT,
    51755175/*  `       a       b       c   */
    5176 CASE_PRINT,
     5176CASE_PRINT_GRA,
    51775177CASE_PRINT_GRA,
    51785178CASE_PRINT,
    51795179CASE_PRINT,
    51805180/*  d       e       f       g   */
    51815181CASE_PRINT,
    51825182CASE_PRINT,
    5183 CASE_PRINT,
    5184 CASE_PRINT,
     5183CASE_PRINT_GRA,
     5184CASE_PRINT_GRA,
    51855185/*  h       i       j       k   */
    5186 CASE_PRINT,
    5187 CASE_PRINT,
     5186CASE_PRINT_GRA,
     5187CASE_PRINT_GRA,
    51885188CASE_PRINT_GRA,
    51895189CASE_PRINT_GRA,
    51905190/*  l       m       n       o   */
    CASE_PRINT_GRA,  
    52045204CASE_PRINT_GRA,
    52055205/*  x       y       z       {   */
    52065206CASE_PRINT_GRA,
    5207 CASE_PRINT,
    5208 CASE_PRINT,
    5209 CASE_PRINT,
     5207CASE_PRINT_GRA,
     5208CASE_PRINT_GRA,
     5209CASE_PRINT_GRA,
    52105210/*  |       }       ~       DEL */
    5211 CASE_PRINT,
    5212 CASE_PRINT,
    5213 CASE_PRINT,
     5211CASE_PRINT_GRA,
     5212CASE_PRINT_GRA,
     5213CASE_PRINT_GRA,
    52145214CASE_IGNORE,
    52155215/*      0x80            0x81            0x82            0x83    */
    52165216CASE_UTF8_INSTRING,
  • src/libs/termcap/termcap.haiku

    diff --git a/src/libs/termcap/termcap.haiku b/src/libs/termcap/termcap.haiku
    index e9073ea..b66ab42 100644
    a b haiku|Haiku Terminal:\  
    44    :Co#256:co#80:it#8:li#25:pa#32767:\
    55    :@7=\EOF:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\
    66    :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{{||}}~~:\
    99    :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\
    1010    :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\
    1111    :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\