PC-E500S中文界面设计的研究与探讨

韦绍福
广西第二测绘院 545006)

【摘 要】 本文介绍PC-E500S中文界面的设计的主要过程和方法,并举例说明在实际应用中如何设计中文界面。
【关键词】 PC-E500S 中文界面 电子手簿 GPRINT GCURSOR

  一、前言
  PC-E500S是日本SHARP公司在PC-E500基础上改良生产的一种体积小、重量轻、容量大、计算精度高、适合野外工作的袖珍计算机系列。它本身具有代数、矩阵、工程(1101项软件)、BASIC五大工作状态。同时对主机容量和外存RAM的深入开发使用可利用的RAM空间达到512KB,可满足用户的不同需要。对于PC-E500S袖珍计算机,实现汉字显示是一件比较困难的事情。为了能在其上显示汉字,最简单也是最繁琐的方法是按照PC-E500S显示汉字原理手工用方格纸造字。特别在工程软件编程上,设计自己的中文界面是很实用的。
  二、重要的两个命令GPRINT和GCURSOR
  1、GPRINT:显示点阵图形命令,其缩写格式为GP。
  格式有三种:
  (1)GPRINT“字符串”
  (2)GPRINT算式〔;算式1;算式2;算式…〕
  (3)GPRINT
  ①在格式1中,每栏单位图像数据由8个竖点表示,8点图形波被分成4点下组和4点上组,每组由一个十六进制数字代表,该数字串应在引号“”内。每一个十六进制数字与点阵图形对应如下:

  GPRINT“○○ ○○ ○○ …… ”
       ①  ②  ③  ④
  每对十六进制数字代表一个竖点阵图(8点)。第一个数字代表下4点,第二个数字代表上4点。例如下面“测绘”二字:

  对照上表,“测”字的代码应为:“856A3F817D813FBCFF”;“绘”字的代码应为:“945E3514DAB9DA94”。在设计中文界面时,要在显示屏上显示“测绘”二字则可以表示为:
  GPRINT“856A3F817D813FBCFF”;“945E3514DAB9DA94”或者GPRINT“85;6A;3F;81;7D;81;3F;BC;FF;00;94;5E;35;14;DA;B9;DA;94”,用(;)号在字符串尾可以自动将光标移到下一个位置。
  ②在格式2中,用十六进制或十进制数字说明一竖8点阵图形。如下图所示,每点都被分配给一个“重量”。
  根据格式2,每一个“重量”值对应一个点阵图,要在显示屏上显示“测绘”二字则可以表示为:
  ·测(十进制):GPRINT 1+4+128;2+8+32+64;1+2+4+8+16+32;1+128;1+2+4+8+16+32+64;1+128;1+2+4+8+16+32;4+8+16+32+128;1+2+4+8+16+32+64+128
  ·绘(十进制):GPRINT
4+16+128;2+4+8+16+64;1+4+16+32;4+16;2+8+16+64+128;1+8+16+32+128;2+8+16+64+128;4+16+128

  用十六进制表示时,把“测绘”二字中十进制数字转换成十六进制,注意十六进制的表示方法。也可以用各个式子的和表示,如“4+16+128”可用“148(十进制)”或“&H94(十六进制)”表示。
  ③据格式3中,先前指定的和显示的图形再被显示,无须修正。由GPRINT指令说明的点阵图显示时最少有8点,起始点由GCURSOR指令指定。
  2、GCURSOR:指定由GPRINT指令显示的点图形的显示起点。其缩写格式为GC。格式为:GCURSOR(算式1,算式2)。
  PC-E500S液晶显示屏是由240栏及32行点阵组成,这些点阵可被栏数0-239及行数0-31来定位。这样,可由算式1指定的栏数及算式2指定的行数对屏幕上的任意点作为起点来定位。例如要显示封面格式如下时,

  则代码可以示为(例如每个字的十六进制代码存于机子内存中,具体详见附录):
  10:CLS:GCURSOR(48,9):GPRINT A$(81);A$(82);A$(22);A$(23);A$(24);A$(25);A$(5);A$(24);A$(26);A$(27);A$(88);A$(89);A$(28);A$(29)
  20:GCURSOR(20,29):GPRINT A$(83);A$(84);A$(85);A$(20);A$(24);A$(86);A$(87)
  30:GCURSOR(95,20):GPRINT A$(78);A$(77);A$(50);A$(53);A$(76);A$(37);A$(51)
  40:GCURSOR(100,29):GPRINT A$(20);A$(37);A$(37);A$(80);A$(38);A$(20);A$(39)
  50:GCURSOR(175,29):GPRINT A$(55);A$(54);A$(76);A$(52);A$(42)
  60:P$=INPUT $(1)
  70:END
  10行中(48,9)表示栏数为48,行数为9作为起点,显示内容为“精密水准测量观测记录电子手簿”。其他20、30、40、50行括号中的各对数字意义同10行括号中的数字一样,前个数字表示栏数,后面个数表示行数。值得注意的是,虽然算式1和算式2的值域均为-32768到+32768,但算式1的值超出0-239的范围或算式2的值超出0-31的范围,显示起点就会是虚点,不在屏幕之内。另外,若执行RUN指令或按SHIFT+CA,显示起点的位置会被自动设为(0,7)。若程式由GOTO开始,该指令仅对指定的行数、栏数自动设置为0。
  三、结束语
  运用GPRINT和GCURSOR设计中文界面时,若结合LOCATE、LINE等其他指令,可设计出丰富多彩的PC-E500S中文界面时,为了充分利用其有限的显示屏和内存空间,可选择用于AutoCAD软件上的汉字矢量库,根据字库的生成原理,用程序直接读取字库转换成不同大小的能在PC-E500S上显示的小字库。通常使用8*8的字库比较合适,每一汉字仅需要16字节。采用本方法,基本上实现了汉字显示,节省了内存。由于PC-E500S内存有限,各人的设计风格各异,但设计中文界面时应尽量简单明了,不要太过于复杂繁琐。另外,同一个字的不同字体以及字体大小不同,其代码也尽不相同;那怕同一个汉字同样字体及大小,不同人员设计时其代码也尽不相同。
  下面是本文作者在设计《一、二等水准测量观测记录电子手簿》时的部分汉字及符号的代码,仅供读者参考。

序号
文字
十六进制代码
序号
文字
十六进制代码
0
005F5555550022223E2222
45
00895228FA5E7F5EFA08
1
0020673537753F753735672
46
00FF151B80549AF91A5480
2
00423E2A2B7E021A437E02
47
0004FF08F28A8682E0
3
00403F0575555555557504
48
0004FE01EAAEAFAEEA00
4
0077457D57007F55555D41
49
004022FEB3DE92DE2040
5
008652225E9F417D819FC0
50
000814224100
6
00780A0A7A5E5B5E7A0A0A78
51
00004122140800
7
00201C0000407F0000001C20
52
00201AFF0A3EA279FE223E
8
005F555555087A5A5F5A7A08
53
1
00427F40
9
00404040407F4444444040
54
00FF81C3CBFFEBC381FF
10
00010101017F0909090101
55
001C1414FF14141C
11
0008FC0300C7281328C7
56
0004877C28FA5E7F5EFA08
12
00EBADBDEB0CEBBDADEB
57
00827F84CAAB9AFFCAEA80
13
000AFA059292FF9292
58
00A4FF14486BF56B48
14
00847DC0BEDEA6DD80
59
00A4FF140242827E0202
15
008081F981FF91919181
60
0088493F0909FF0908
16
002212FA46537A5242
61
00AA6EFB6EAAFE0AF908
17
9052BFDEFEDEBF5290
62
00B25A76A4BEFFBEA4
18
002A2EFF2AFA6AFF6BFA
63
退
00827F80FFAF97AFC0
19
000808080808080808
64
00F04E487F484EF0
20
00404044444444444040
65
00827F80F9BBFDBDFB80
21
0014133EBAFCBCFB3612
66
00857E29FF097F80C0
22
0084443C80FF003C4484
67
0000847E55FDD7FC00
23
0022740CFE81AAFFAA80
68
00201AFF8A9CAAF9AA9C88
24
00856A3F817D813FBCFF
69
00808AFAF6FFF6FA8A80
25
〃000888FFFFFFFFF8808
70
00847D808494C4FF84
26
0002837E20F191919FC0
71
00854A201D159DFF01
27
0004947787FF07779484
72
009BB65FB69B845F225E82
28
000020222AAAFE2A292020
73
00A4FF14807FEBBFEB
29
簿
00D6693F3DBCFEBDFF3D20
74
002A2EFF2A287AAF6A28
30
005F555555405F555555〃
75
00A4FF1420BC6B3D6DBB20
31
0000828E5223528E82
76
·
003030
32
0008FC031413FF1210
77
0024142CFF2C1424
33
004024F6BBB2AAE600
78
00807F14F7847EBA4AB9
34
00807E4A7A827F629BC2
79
0004FE01EE7DFD2F5D80
35
00545ED540A1BFC97780
80
00884A2A1E2A4A88
36
00201AFF0A48AAFA2A48
81
004A2CFF2C4AFA5E7F5EFA08
37
0
007C8282827C00
82
00944ADAB69AF79A8AD602
38
0024243B2AFE2A2A22
83
广
00807E020203020202
39
00807F151595FF
84
西
00FDA59F859FA5FD
40
0082437EA4B5ADB5A480
85
00B4BB7EFA3CBBA642
41
000AFA05080989F90800
86
00945E3514DAB9DA94
42
0008847F087E08FF
87
00FF151B967A1BFA96C0
43
0088487F8FFFAFAF8888
88
003E2A2A7FAAAABEC0
44
001111E9A5BFA1E91111
89
000949897D0B0908

参 考 文 献
[1] 日本夏普公司:《PC-E500使用手册》,日本夏普公司,PRINTED IN JAPAN
[2] 龚德书、徐德友、张家根;《导线和细部测量电子记录手簿的研究与开发》,电子版

地址:广西南宁市建政路5号  邮编:530023  Tel:0771-5606397  Email:webmaster@digitalgx.com
广西基础地理信息中心版权所有 2005-2010 广西基础地理信息中心制作