📄 qfont.c
字号:
/* * Copyright (c) 1988 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)qfont.c 1.4 (Berkeley) 6/28/90 *//* * @(#)qfont.c 1.1 (ULTRIX) 8/21/85 * * The following tables are used to translate LK201 key strokes * into ascii characters. The tables also support the special * function keys. */char q_key[]={ 0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 0 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 8 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 16 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 24 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 32 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 40 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 48 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 56 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 64 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 72 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x81 ,0x82 /* 80 */ ,0x83 ,0x84 ,0x85 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 88 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x86 ,0x87 ,0x88 ,0x89 /* 96 */ ,0x8a ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 104 */ ,0x00 ,0x1b ,0x08 ,0x0a ,0x8b ,0x00 ,0x00 ,0x00 /* 112 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x8c ,0x8d ,0x00 ,0x00 /* 120 */ ,0x8e ,0x8f ,0x90 ,0x91 ,0x00 ,0x00 ,0x00 ,0x00 /* 128 */ ,0x00 ,0x00 ,0x92 ,0x93 ,0x94 ,0x95 ,0x96 ,0x97 /* 136 */ ,0x00 ,0x00 ,0xa0 ,0x00 ,0xa1 ,0xa2 ,0xa3 ,0xa4 /* 144 */ ,0xa5 ,0xa6 ,0xa7 ,0xa8 ,0xa9 ,0xaa ,0xab ,0xac /* 152 */ ,0xad ,0x98 ,0x99 ,0x9a ,0x9b ,0x00 ,0x00 ,0x9c /* 160 */ ,0x9d ,0x9e ,0x9f ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 168 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 176 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x7f ,'\r' ,0x09 ,'`' /* 184 */ ,'1' ,'q' ,'a' ,'z' ,0x00 ,'2' ,'w' ,'s' /* 192 */ ,'x' ,'<' ,0x00 ,'3' ,'e' ,'d' ,'c' ,0x00 /* 200 */ ,'4' ,'r' ,'f' ,'v' ,' ' ,0x00 ,'5' ,'t' /* 208 */ ,'g' ,'b' ,0x00 ,'6' ,'y' ,'h' ,'n' ,0x00 /* 216 */ ,'7' ,'u' ,'j' ,'m' ,0x00 ,'8' ,'i' ,'k' /* 224 */ ,',' ,0x00 ,'9' ,'o' ,'l' ,'.' ,0x00 ,'0' /* 232 */ ,'p' ,0x00 ,';' ,'/' ,0x00 ,'=' ,']' ,'\\' /* 240 */ ,0x00 ,'-' ,'[' ,'\'' ,0x00 ,0x00 ,0x00 ,0x00 /* 248 */};char q_shift_key[]={ 0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 0 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 8 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 16 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 24 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 32 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 40 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 48 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 56 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 64 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 72 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x81 ,0x82 /* 80 */ ,0x83 ,0x84 ,0x85 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 88 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x86 ,0x87 ,0x88 ,0x89 /* 96 */ ,0x8a ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 104 */ ,0x00 ,0x1b ,0x08 ,0x0a ,0x8b ,0x00 ,0x00 ,0x00 /* 112 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x8c ,0x8d ,0x00 ,0x00 /* 120 */ ,0x8e ,0x8f ,0x90 ,0x91 ,0x00 ,0x00 ,0x00 ,0x00 /* 128 */ ,0x00 ,0x00 ,0x92 ,0x93 ,0x94 ,0x95 ,0x96 ,0x97 /* 136 */ ,0x00 ,0x00 ,0xa0 ,0x00 ,0xa1 ,0xa2 ,0xa3 ,0xa4 /* 144 */ ,0xa5 ,0xa6 ,0xa7 ,0xa8 ,0xa9 ,0xaa ,0xab ,0xac /* 152 */ ,0xad ,0x98 ,0x99 ,0x9a ,0x9b ,0x00 ,0x00 ,0x9c /* 160 */ ,0x9d ,0x9e ,0x9f ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 168 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 /* 176 */ ,0x00 ,0x00 ,0x00 ,0x00 ,0x7f ,'\r' ,0x09 ,'~' /* 184 */ ,'!' ,'Q' ,'A' ,'Z' ,0x00 ,'@' ,'W' ,'S' /* 192 */ ,'X' ,'>' ,0x00 ,'#' ,'E' ,'D' ,'C' ,0x00 /* 200 */ ,'$' ,'R' ,'F' ,'V' ,' ' ,0x00 ,'%' ,'T' /* 208 */ ,'G' ,'B' ,0x00 ,'^' ,'Y' ,'H' ,'N' ,0x00 /* 216 */ ,'&' ,'U' ,'J' ,'M' ,0x00 ,'*' ,'I' ,'K' /* 224 */ ,',' ,0x00 ,'(' ,'O' ,'L' ,'.' ,0x00 ,')' /* 232 */ ,'P' ,0x00 ,':' ,'?' ,0x00 ,'+' ,'}' ,'|' /* 240 */ ,0x00 ,'_' ,'{' ,'"' ,0x00 ,0x00 ,0x00 ,0x00 /* 248 */};/* * LK201 special purpose keys. Translations from the tables above * includes codes for the function keys and other goodies. They can * be determined by the presence of the 8th bit being set. The * following table is accessed by removing that bit and using the * result as the index to the following table. Note that table begins * a null entry. */char *q_special[]={ 0, "\33[11~", /* f1 */ "\33[12~", /* f2 */ "\33[13~", /* f3 */ "\33[14~", /* f4 */ "\33[15~", /* f5 */ "\33[17~", /* f6 */ "\33[18~", /* f7 */ "\33[19~", /* f8 */ "\33[20~", /* f9 */ "\33[21~", /* f10 */ "\33[26~", /* f14 */ "\33[28~", /* f15 */ "\33[29~", /* f16 */ "\33[31~", /* f17 */ "\33[32~", /* f18 */ "\33[33~", /* f19 */ "\33[34~", /* f20 */ "\33[1~", /* find */ "\33[2~", /* insert */ "\33[3~", /* remove */ "\33[4~", /* select */ "\33[5~", /* prev */ "\33[6~", /* next */ "\33OP", /* pf1 */ "\33OQ", /* pf2 */ "\33OR", /* pf3 */ "\33OS", /* pf4 */ "\33[D", /* left */ "\33[C", /* right */ "\33[B", /* down */ "\33[A", /* up */ "\33Op", /* key pad 0 */ "\33On", /* key pad . */ "\33OM", /* key pad enter */ "\33Oq", /* key pad 1 */ "\33Or", /* key pad 2 */ "\33Os", /* key pad 3 */ "\33Ot", /* key pad 4 */ "\33Ou", /* key pad 5 */ "\33Ov", /* key pad 6 */ "\33O/*", /* key pad , */ "\33Ow", /* key pad 7 */ "\33Ox", /* key pad 8 */ "\33Oy", /* key pad 9 */ "\33Om", /* key pad - */ /* * The following strings are to allow a numeric keypad * mode and still use the same translation tables */ "0", ".", "\r", "1", "2", "3", "4", "5", "6", ",", "7", "8", "9", "-"};/* * QVSS font table of displayable characters. */char q_font[]={ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 */ 0x00, /* 0x00000000 *//* */ 0x00, /* 0x00000000 ! */ 0x00, /* 0x00000000 ! */ 0x08, /* 0x00001000 ! */ 0x08, /* 0x00001000 ! */ 0x08, /* 0x00001000 ! */ 0x08, /* 0x00001000 ! */ 0x08, /* 0x00001000 ! */ 0x08, /* 0x00001000 ! */ 0x08, /* 0x00001000 ! */ 0x08, /* 0x00001000 ! */ 0x00, /* 0x00000000 ! */ 0x08, /* 0x00001000 ! */ 0x00, /* 0x00000000 ! */ 0x00, /* 0x00000000 ! */ 0x00, /* 0x00000000 ! *//* */ 0x00, /* 0x00000000 " */ 0x00, /* 0x00000000 " */ 0x24, /* 0x00100100 " */ 0x24, /* 0x00100100 " */ 0x24, /* 0x00100100 " */ 0x00, /* 0x00000000 " */ 0x00, /* 0x00000000 " */ 0x00, /* 0x00000000 " */ 0x00, /* 0x00000000 " */ 0x00, /* 0x00000000 " */ 0x00, /* 0x00000000 " */ 0x00, /* 0x00000000 " */ 0x00, /* 0x00000000 " */ 0x00, /* 0x00000000 " */ 0x00, /* 0x00000000 " *//* */ 0x00, /* 0x00000000 # */ 0x00, /* 0x00000000 # */ 0x00, /* 0x00000000 # */ 0x12, /* 0x00010010 # */ 0x12, /* 0x00010010 # */ 0x3f, /* 0x00111111 # */ 0x12, /* 0x00010010 # */ 0x12, /* 0x00010010 # */ 0x3f, /* 0x00111111 # */ 0x12, /* 0x00010010 # */ 0x12, /* 0x00010010 # */ 0x00, /* 0x00000000 # */ 0x00, /* 0x00000000 # */ 0x00, /* 0x00000000 # */ 0x00, /* 0x00000000 # *//* */ 0x00, /* 0x00000000 $ */ 0x00, /* 0x00000000 $ */ 0x00, /* 0x00000000 $ */ 0x08, /* 0x00001000 $ */ 0x3e, /* 0x00111110 $ */ 0x09, /* 0x00001001 $ */ 0x09, /* 0x00001001 $ */ 0x3e, /* 0x00111110 $ */ 0x48, /* 0x01001000 $ */ 0x48, /* 0x01001000 $ */ 0x3e, /* 0x00111110 $ */ 0x08, /* 0x00001000 $ */ 0x00, /* 0x00000000 $ */ 0x00, /* 0x00000000 $ */ 0x00, /* 0x00000000 $ *//* */ 0x00, /* 0x00000000 % */ 0x00, /* 0x00000000 % */ 0x42, /* 0x01000010 % */ 0x25, /* 0x00100101 % */ 0x25, /* 0x00100101 % */ 0x12, /* 0x00010010 % */ 0x08, /* 0x00001000 % */ 0x08, /* 0x00001000 % */ 0x24, /* 0x00100100 % */ 0x52, /* 0x01010010 % */ 0x52, /* 0x01010010 % */ 0x21, /* 0x00100001 % */ 0x00, /* 0x00000000 % */ 0x00, /* 0x00000000 % */ 0x00, /* 0x00000000 % *//* */ 0x00, /* 0x00000000 & */ 0x00, /* 0x00000000 & */ 0x0e, /* 0x00001110 & */ 0x11, /* 0x00010001 & */ 0x11, /* 0x00010001 & */ 0x11, /* 0x00010001 & */ 0x0e, /* 0x00001110 & */ 0x11, /* 0x00010001 & */ 0x51, /* 0x01010001 & */ 0x21, /* 0x00100001 & */ 0x31, /* 0x00110001 & */ 0x4e, /* 0x01001110 & */ 0x00, /* 0x00000000 & */ 0x00, /* 0x00000000 & */ 0x00, /* 0x00000000 & *//* */ 0x00, /* 0x00000000 ' */ 0x00, /* 0x00000000 ' */ 0x38, /* 0x00111000 ' */ 0x18, /* 0x00011000 ' */ 0x04, /* 0x00000100 ' */ 0x00, /* 0x00000000 ' */ 0x00, /* 0x00000000 ' */ 0x00, /* 0x00000000 ' */ 0x00, /* 0x00000000 ' */ 0x00, /* 0x00000000 ' */ 0x00, /* 0x00000000 ' */ 0x00, /* 0x00000000 ' */ 0x00, /* 0x00000000 ' */ 0x00, /* 0x00000000 ' */ 0x00, /* 0x00000000 ' *//* */ 0x00, /* 0x00000000 ( */ 0x00, /* 0x00000000 ( */ 0x10, /* 0x00010000 ( */ 0x08, /* 0x00001000 ( */ 0x08, /* 0x00001000 ( */ 0x04, /* 0x00000100 ( */ 0x04, /* 0x00000100 ( */ 0x04, /* 0x00000100 ( */ 0x04, /* 0x00000100 ( */ 0x08, /* 0x00001000 ( */ 0x08, /* 0x00001000 ( */ 0x10, /* 0x00010000 ( */ 0x00, /* 0x00000000 ( */ 0x00, /* 0x00000000 ( */ 0x00, /* 0x00000000 ( *//* */ 0x00, /* 0x00000000 ) */ 0x00, /* 0x00000000 ) */ 0x04, /* 0x00000100 ) */ 0x08, /* 0x00001000 ) */ 0x08, /* 0x00001000 ) */ 0x10, /* 0x00010000 ) */ 0x10, /* 0x00010000 ) */ 0x10, /* 0x00010000 ) */ 0x10, /* 0x00010000 ) */ 0x08, /* 0x00001000 ) */ 0x08, /* 0x00001000 ) */ 0x04, /* 0x00000100 ) */ 0x00, /* 0x00000000 ) */ 0x00, /* 0x00000000 ) */ 0x00, /* 0x00000000 ) *//* */ 0x00, /* 0x00000000 * */ 0x00, /* 0x00000000 * */ 0x00, /* 0x00000000 * */ 0x00, /* 0x00000000 * */ 0x00, /* 0x00000000 * */ 0x22, /* 0x00100010 * */ 0x14, /* 0x00010100 * */ 0x7f, /* 0x01111111 * */ 0x14, /* 0x00010100 * */ 0x22, /* 0x00100010 * */ 0x00, /* 0x00000000 * */ 0x00, /* 0x00000000 * */ 0x00, /* 0x00000000 * */ 0x00, /* 0x00000000 * */ 0x00, /* 0x00000000 * *//* */ 0x00, /* 0x00000000 + */ 0x00, /* 0x00000000 + */ 0x00, /* 0x00000000 + */ 0x00, /* 0x00000000 + */ 0x08, /* 0x00001000 + */ 0x08, /* 0x00001000 + */ 0x08, /* 0x00001000 + */ 0x7f, /* 0x01111111 + */ 0x08, /* 0x00001000 + */ 0x08, /* 0x00001000 + */ 0x08, /* 0x00001000 + */ 0x00, /* 0x00000000 + */ 0x00, /* 0x00000000 + */ 0x00, /* 0x00000000 + */ 0x00, /* 0x00000000 + *//* */ 0x00, /* 0x00000000 , */ 0x00, /* 0x00000000 , */ 0x00, /* 0x00000000 , */ 0x00, /* 0x00000000 , */ 0x00, /* 0x00000000 , */ 0x00, /* 0x00000000 , */ 0x00, /* 0x00000000 , */ 0x00, /* 0x00000000 , */ 0x00, /* 0x00000000 , */ 0x00, /* 0x00000000 , */ 0x1c, /* 0x00011100 , */ 0x0c, /* 0x00001100 , */ 0x02, /* 0x00000010 , */ 0x00, /* 0x00000000 , */ 0x00, /* 0x00000000 , *//* */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x7f, /* 0x01111111 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - */ 0x00, /* 0x00000000 - *//* */ 0x00, /* 0x00000000 . */ 0x00, /* 0x00000000 . */ 0x00, /* 0x00000000 . */ 0x00, /* 0x00000000 . */ 0x00, /* 0x00000000 . */ 0x00, /* 0x00000000 . */ 0x00, /* 0x00000000 . */ 0x00, /* 0x00000000 . */ 0x00, /* 0x00000000 . */ 0x00, /* 0x00000000 . */ 0x08, /* 0x00001000 . */ 0x1c, /* 0x00011100 . */ 0x08, /* 0x00001000 . */ 0x00, /* 0x00000000 . */ 0x00, /* 0x00000000 . *//* */ 0x00, /* 0x00000000 / */ 0x00, /* 0x00000000 / */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -