1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>General Information about TiCables library</title>
<style type="TEXT/CSS">
<!--
BODY {FONT-FAMILY: Verdana,Arial,Helvetica,Sans-Serif; BACKGROUND-COLOR: #FFFFFF; FONT-SIZE: 10pt}
TD {FONT-SIZE: 10pt}
H1 {FONT-SIZE: 18pt}
H3 {FONT-SIZE: 13pt}
PRE {FONT-FAMILY: Courier New; FONT-SIZE: 9pt}
CODE {FONT-FAMILY: Courier New; FONT-SIZE: 9pt}
-->
</style>
<meta name="author" content="Romain Liévin">
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 248);"
alink="#ff0000" link="#000099" vlink="#0000ff">
<h1> General Information about the TiConv library </h1>
<hr>
<pre> <em> </em></pre>
The TiConv library is a part of the <a href="http://www.tilp.info">TiLP</a>
& <a href="http://lpg.ticalc.org/prj_tiemu/index.html">TiEmu</a>
projects and constitutes with the other libraries a complete framework
for developping linking and/or TI files oriented applications.<br>
<h3>Overview </h3>
The ticonv library is a library capable of conversions between TI
charsets and UTF-8 / UTF-16 charsets but uses UTF-16 natively.<br>
The library provides a complete API which is very easy to use and makes
things easier.<br>
<br>
The library supports all the currently available calculators:<br>
- TI8x calculators: TI73, 82, 83, TI83+, 85 and 86,<br>
- TI9x calculators: TI89, 92, 92+ and V200PLT,<br>
- built-in USB calculators: TI84+ and Titanium.<br>
<br>
Why this library? <br>
Kevin is interested in the ability to directly use in a C program some
characters from the TI charset.<br>
I (Romain) need to do some particular conversions at many stages in the
TiLP framework and TiLP/TiEmu itself.<br>
This is needed because the name of variable (varname, for short):<br>
- may be tokenized on some calcs (TI8x),<br>
- use a charset dependant of the calculator model,<br>
<br>
Some vocabulary:<br>
- GFE : GLib Filename Encoding, the encoding used by GLib for filenames,<br>
- LVE : Linking Varname Encoding, the encoding used by hand-helds in
the
transfer protocol (also known as 'native'),<br>
- TVE : TI-File Varname Encoding, the encoding used by hand-helds
(except built-in USB ones) and TI files (also known as 'raw'); <br>
LVE and TVE are the same except for USB,<br>
- TI8X or TI9X charset: maps of characters internally stored in the
hand-held and used usually for varnames,<br>
- TI-UTF-8 charset: the charset used by TI for built-in USB hand-helds.
This charset is not a fully compliant UTF-8 charset. Some chars need to
be re-mapped to be displayed fine.<br>
<br>
The varname need to be converted into:<br>
- valid UTF-8 to be displayed correctly by GTK,<br>
- valid 'GLib Filename Encoding' to be saved correctly,<br>
- raw varname to be used in TI files.<br>
<br>
The following charsets are supported for varnames:<br>
- TI8x: raw/TI-8X (may be tokenized),<br>
- TI9x: TI-9x ,<br>
- USB calcs: TI-UTF-8.<br>
<br>
To sum up:<br>
<table style="width: 100%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span
style="font-family: courier new,courier,monospace;">
detokenized
(TI8x)
(char maps)<br>
</span><span style="font-family: courier new,courier,monospace;">raw
varname -</span><span
style="font-family: courier new,courier,monospace;">--------------------->
TI8X charset --+------------+-> UTF-8 or UTF-16 for
display<br>
| <br>
copied (TI9x)
| <br>
raw varname ----------------------> TI9X charset
--+ <br>
</span><span style="font-family: courier new,courier,monospace;">
| </span><br>
<span style="font-family: courier new,courier,monospace;">
copied (USB)
|<br>
raw varname ----------------------> TIUTF8 charset --+<br>
|</span><span style="font-family: courier new,courier,monospace;">
(switch case)</span><br>
<span style="font-family: courier new,courier,monospace;">
+----------------> Glib Filename Encoding for filenames<br>
<br>
<br>
(char
maps)
tokenized (TI8x)<br>
TI-UTF-8 -------------> TI-8X/9X charset -+------------------+->
TI-file varname encoding for TI files contents<br>
|
|<br>
| copied (TI9x) |<br>
+------------------+<br>
</span></td>
</tr>
</tbody>
</table>
<br>
If you want to look at the TI charsets, you will find them in the
docs/charset <a href="../charsets">folder</a> of the ticonv archive or
in the TI Link Guide or below :<br>
<table style="width: 100%; text-align: left;" border="1" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top; text-align: center;">TI82<br>
</td>
<td style="vertical-align: top; text-align: center;">TI85<br>
</td>
<td style="vertical-align: top; text-align: center;">TI86<br>
</td>
<td style="vertical-align: top; text-align: center;">TI9x<br>
</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center;"><img alt=""
src="../charsets/ti82.png" style="width: 192px; height: 256px;"></td>
<td style="vertical-align: top; text-align: center;"><img alt=""
src="../charsets/ti85.png" style="width: 192px; height: 256px;"></td>
<td style="vertical-align: top; text-align: center;"><img alt=""
src="../charsets/ti86.png" style="width: 192px; height: 256px;"></td>
<td style="vertical-align: top;"><img alt=""
src="../charsets/ti9x.png" style="width: 240px; height: 128px;"></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center;">TI73<br>
</td>
<td style="vertical-align: top; text-align: center;">TI83<br>
</td>
<td style="vertical-align: top; text-align: center;">TI83+/84+<br>
</td>
<td style="vertical-align: top;"><br>
</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center;"><img alt=""
src="../charsets/ti73.png" style="width: 192px; height: 256px;"></td>
<td style="vertical-align: top; text-align: center;"><img alt=""
src="../charsets/ti83.png" style="width: 192px; height: 256px;"></td>
<td style="vertical-align: top; text-align: center;"><img alt=""
src="../charsets/ti83p.png" style="width: 192px; height: 256px;"></td>
<td style="vertical-align: top;"><br>
</td>
</tr>
</tbody>
</table>
TI8x images are courtesy of Benjamin Moody. Thanks !<br>
<h3></h3>
<h3>Requirements </h3>
At the time being, this library is dependant of the GLib (version 2.x).<br>
<ul>
</ul>
<h3> Bug Reports </h3>
There may still be some bugs in the library, please send an email to
TiLP development <a href="mailto:tilp-devel@lists.sourceforge.net">mailing
list</a>.<br>
<h3><a href="index.html">Return to the main index</a> </h3>
<br>
<br>
<br>
<br>
<br>
</body>
</html>
|