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 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.20">
<TITLE>BRLTTY: Feature Descriptions</TITLE>
<LINK HREF="Manual-5.html" REL=next>
<LINK HREF="Manual-3.html" REL=previous>
<LINK HREF="Manual.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="Manual-5.html">Next</A>
<A HREF="Manual-3.html">Previous</A>
<A HREF="Manual.html#toc4">Contents</A>
<HR>
<H2><A NAME="s4">4.</A> <A HREF="Manual.html#toc4">Feature Descriptions</A></H2>
<H2><A NAME="routing"></A> <A NAME="ss4.1">4.1</A> <A HREF="Manual.html#toc4.1">Cursor Routing</A>
</H2>
<P>When moving the braille window around the screen
while examining the text, say, in an editor,
you often need to bring the cursor
to a specific character within the braille window.
You'll probably find this to be a rather difficult task for a number of reasons.
One is that you may not know where the cursor is,
and that you may lose your place while trying to find it.
Another is that the cursor may move unrpedictably as the arrow keys are pressed
(some editors, for example, don't allow the cursor to be
more to the right than the end of the line it's on).
Cursor routing provides just such a capability
by knowing where the cursor is,
by simulating the same arrow-key presses which you'd have to enter manually,
and by monitoring the progress of the cursor as it moves.</P>
<P>Some braille displays have a button, known as a routing key, above each cell.
These keys use the
<A HREF="Manual-3.html#command-ROUTE">ROUTE</A> command
to route the cursor right to the desired location.</P>
<P>Cursor routing, while very convenient and effective,
is, strictly speaking, not completely reliable.
One reason for this is that its current implementation assumes
VT100 cursor key escape sequences.
Another is that some applications do non-standard things
in response to detecting that a cursor key has been pressed.
A minor problem found within some editors (like <CODE>vi</CODE>),
as already mentioned above,
is that they throw in some unpredictable horizontal motion
when vertical motion is requested
because they don't allow the cursor to be to the right of the end of a line.
A major problem found within some web browsers (like <CODE>lynx</CODE>)
is that the up- and down-arrow keys are used to move among the links
(which may skip lines and/or move the cursor horizontally,
but which rarely just moves the cursor one line in the desired direction),
and that the left- and right-arrow keys are used to select links
(which has absolutely nothing to do with any form of cursor motion whatsoever,
and which even totally changes the screen content).</P>
<P>Cursor routing may not work very well on a heavily loaded system,
and definitely doesn't work very well when working on a remote system over a slow link.
This is so because of all of the checks which must be made along the way
in order to deal with unpredictable cursor motion
and in order to ensure that any mistake has at least a fighting chance to be undone.
Even though BRLTTY tries to be fairly clever,
it must still essentially wait to see what happens after each simulated arrow-key press.</P>
<P>Once a cursor routing request has been made,
BRLTTY keeps trying to route the cursor to the desired location until
a timeout expires before the cursor reaches that location,
the cursor seems to be moving in the wrong direction,
or you switch to a different virtual terminal.
An attempt is first made to use virtical motion
to bring the cursor to the right line,
and, only if that succeeds, an attempt is then made
to use horizontal motion to bring the cursor to the right column.
If another request is made while one is still in progress,
then the first one is aborted and the second one is initiated.</P>
<P>A safer but less powerful cursor routing command,
<A HREF="Manual-3.html#command-CSRJMP_VERT">CSRJMP_VERT</A>,
uses just vertical motion to bring the cursor
to anywhere on the top line of the braille window.
It's especially useful in conjunction with applications (like <CODE>lynx</CODE>)
wherein horizontal cursor motion must never be attempted.</P>
<H2><A NAME="cut"></A> <A NAME="ss4.2">4.2</A> <A HREF="Manual.html#toc4.2">Cut and Paste</A>
</H2>
<P>This feature enables you to grab some text which is already on the screen
and re-enter it at the current cursor position.
Using it saves time and avoids errors
when a long and/or complicated piece of text needs to be copied,
and even when the same short and simple piece of text needs to be copied many times.
It's particularly useful for things like
long file names,
complicated command lines,
E-mail addresses,
and URLs. Cutting and pasting text involves three simple steps:
<OL>
<LI>Mark either the top-left corner of the rectangular area
or the beginning of the linear area
on the screen which is to be grabbed (cut).
If your display has routing keys,
then move the braille window so that
the first character to be cut appears anywhere within it, and then:
<UL>
<LI>invoke the
<A HREF="Manual-3.html#command-CUTBEGIN">CUTBEGIN</A> command
to start a new cut buffer</LI>
<LI>invoke the
<A HREF="Manual-3.html#command-CUTAPPEND">CUTAPPEND</A> command
to append to the existing cut buffer</LI>
</UL>
by pressing the key(s) associated with it
and then pressing the routing key associated with the character.</LI>
<LI>Mark either the bottom-right corner of the rectangular area
or the end of the linear area
on the screen which is to be grabbed (cut).
If your display has routing keys,
then move the braille window so that
the last character to be cut appears anywhere within it, and then
<UL>
<LI>invoke the
<A HREF="Manual-3.html#command-CUTRECT">CUTRECT</A> command
to cut a rectangular area</LI>
<LI>invoke the
<A HREF="Manual-3.html#command-CUTLINE">CUTLINE</A> command
to cut a linear area</LI>
</UL>
by pressing the key(s) associated with it
and then pressing the routing key associated with the character.
Marking the end of the cut area
appends the selected screen content to the cut buffer.
Excess white-space is removed from the end of each line in the cut buffer
so that unwanted trailing spaces won't be pasted back in.
Control characters are replaced with blanks.</LI>
<LI>Insert (paste) the text where it's needed.
Place the cursor over the character where the text is to be pasted,
and invoke the
<A HREF="Manual-3.html#command-PASTE">PASTE</A> command.
You can paste the same text any number of times without recutting it.
This description assumes that you're already in some sort of input mode.
If you paste when you're in some other kind of mode
(like <CODE>vi</CODE>'s command mode),
then you'd better be aware of what the characters in the cut buffer will do.</LI>
</OL>
</P>
<P>The cut buffer is also used by
the
<A HREF="Manual-3.html#command-PRSEARCH">PRSEARCH</A>
and
<A HREF="Manual-3.html#command-NXSEARCH">NXSEARCH</A> commands.</P>
<H2><A NAME="gpm"></A> <A NAME="ss4.3">4.3</A> <A HREF="Manual.html#toc4.3">Pointer (Mouse) Support via GPM</A>
</H2>
<P>If BRLTTY is configured with the
<A HREF="Manual-2.html#build-gpm">--enable-gpm</A> build option
on a system where the <CODE>gpm</CODE> application has been installed,
then it'll interact with the pointer (mouse).</P>
<P>Moving the braille window moves the pointer
(see the
<A HREF="#preference-pointer-follows-window">Pointer Follows Window</A> preference).
Any motion of the braille window (manual, cursor tracking, etc.),
other than when it moves in response to pointer motion,
moves the pointer to the character on the screen
which corresponds to the upper-left corner of the braille window.
This enables a sighted observer to see where the braille window is,
and, therefore, to know what the braille user is reading.
It also keeps the pointer within the braille window
so that it can be found easily,
and so that the pointer device can always be readily used
as another way to move the braille window.</P>
<P>Moving the pointer drags the braille window
(see the
<A HREF="#preference-window-follows-pointer">Window Follows Pointer</A> preference).
Whenever the pointer is moved beyond the edge of the braille window,
the braille window is dragged along (one character at a time).
This gives the braille user another two-dimensional way
to inspect the screen content
or to quickly move the braille window to a desired location.
It also gives a sighted observer an easy way to move the braille window
to something he'd like the braille user to read.</P>
<P><CODE>gpm</CODE> uses reverse video to show where the pointer is.
Underlining of highlighted characters
(see the
<A HREF="Manual-3.html#command-ATTRVIS">ATTRVIS</A> command for details)
should be turned on, therefore, when the braille user wishes to use the pointer.</P>
<P>This feature also gives the braille user access to <CODE>gpm</CODE>'s cut-and-paste capability.
Although you should read <CODE>gpm</CODE>'s own documentation,
here are some notes on how it works.
<UL>
<LI>Copy the current character to the cut buffer
by single-clicking the left button.</LI>
<LI>Copy the current word (space-delimited) to the cut buffer
by double-clicking the left button.</LI>
<LI>Copy the current line to the cut buffer
by tripple-clicking the left button.</LI>
<LI>Copy a linear region to the cut buffer as follows:
<OL>
<LI>Place the pointer on the first character of the region.</LI>
<LI>Press (and hold) the left button.</LI>
<LI>Move the pointer to the last character of the region
(all currently selected characters are highlighted).</LI>
<LI>Release the left button.</LI>
</OL>
</LI>
<LI>Paste (input) the current contents of the cut buffer
by clicking the middle button of a three-button mouse
or by clicking the right button of a two-button mouse.</LI>
<LI>Append to the cut buffer
by using the right button of a three-button mouse.</LI>
</UL>
</P>
<H2><A NAME="tunes"></A> <A NAME="ss4.4">4.4</A> <A HREF="Manual.html#toc4.4">Alert Tunes</A>
</H2>
<P>BRLTTY alerts you to the occurrence of significant events
by playing short predefined tunes.
This feature can be activated and deactivated with
either the
<A HREF="Manual-3.html#command-TUNES">TUNES</A> command
or the
<A HREF="#preference-alert-tunes">Alert Tunes</A> preference.
The tunes are played via the internal beeper by default,
but other alternatives can be selected
with the
<A HREF="#preference-tune-device">Tune Device</A> preference.</P>
<P>Each significant event is associated, from highest to lowest priority,
with one or more of the following:
<DL>
<DT><B>a tune</B><DD><P>If a tune has been associated with the event,
if the
<A HREF="#preference-alert-tunes">Alert Tunes</A> preference
(see also the
<A HREF="Manual-3.html#command-TUNES">TUNES</A> command)
is active,
and if the selected tune device
(see the
<A HREF="#preference-tune-device">Tune Device</A> preference)
can be opened,
then the tune is played.</P>
<DT><B>a dot pattern</B><DD><P>If a dot pattern has been associated with the event,
and if the
<A HREF="#preference-alert-dots">Alert Dots</A> preference is active,
then the dot pattern is briefly displayed on every braille cell.
Some braille displays don't respond quickly enough
for this mechanism to work effectively.</P>
<DT><B>a message</B><DD><P>If a message has been associated with the event,
and if the
<A HREF="#preference-alert-messages">Alert Messages</A> preference is active,
then it is displayed for a few seconds
(see the
<A HREF="Manual-3.html#options-message-delay">-M</A> command line option).</P>
</DL>
</P>
<P>These events include:
<UL>
<LI>When the braille display driver starts or stops.</LI>
<LI>When the start or end of the cut block is set.</LI>
<LI>When a feature is activated or deactivated.</LI>
<LI>When cursor tracking is turned on or off.</LI>
<LI>When the screen image is frozen or unfrozen.</LI>
<LI>When identical lines are skipped.</LI>
<LI>When the braille window wraps
either down to the beginning of the next line
or up to the end of the previous line.</LI>
<LI>When a requested motion cannot be performed.</LI>
<LI>When a command cannot be executed.</LI>
<LI>When a lengthy command completes.</LI>
</UL>
</P>
<H2><A NAME="preferences"></A> <A NAME="ss4.5">4.5</A> <A HREF="Manual.html#toc4.5">Preferences Settings</A>
</H2>
<P>When BRLTTY starts, it loads a file which contains your preferences settings.
The file doesn't need to exist,
and is created the first time the settings are saved
with the
<A HREF="Manual-3.html#command-PREFSAVE">PREFSAVE</A> command.
The most recently saved settings can be restored at any time
with the
<A HREF="Manual-3.html#command-PREFLOAD">PREFLOAD</A> command.</P>
<P>The default name for this file is <CODE>/etc/brltty.conf</CODE>.
A system default for its name can be established with
the
<A HREF="Manual-3.html#configure-preferences-file">preferences-file</A> configuration file directive.
Its name can be explicitly set at run-time with
the
<A HREF="Manual-3.html#options-preferences-file">-p</A> command line option.</P>
<H3><A NAME="preferences-menu"></A> The Preferences Menu</H3>
<P>The preferences settings are saved as binary data
which, therefore, can't be edited by hand.
BRLTTY, however, has a simple menu from which you can easily change them.
This feature isn't available if the
<A HREF="Manual-2.html#build-preferences-menu">--disable-preferences-menu</A> build option was specified.</P>
<P>The meny is activated by the
<A HREF="Manual-3.html#command-PREFMENU">PREFMENU</A> command.
The braille display briefly
(see the
<A HREF="Manual-3.html#options-message-delay">-M</A> command line option)
shows the menu title,
and then presents the current item and its current setting.</P>
<H3>Navigating the Menu</H3>
<P>See
<A HREF="Manual-3.html#menu">Menu Navigation Commands</A> for the full list of
commands which enable you to select items and change settings within the menu.
For backward compatibility with old drivers, the window motion commands,
which have modified meanings in this context, can also be used.
<DL>
<DT><B><CODE>TOP</CODE>, <CODE>TOP_LEFT</CODE></B><DD><P>Go to the first item in the menu
(same as
<A HREF="Manual-3.html#command-MENU_FIRST_ITEM">MENU_FIRST_ITEM</A>).</P>
<DT><B><CODE>BOT</CODE>, <CODE>BOT_LEFT</CODE></B><DD><P>Go to the last item in the menu
(same as
<A HREF="Manual-3.html#command-MENU_LAST_ITEM">MENU_LAST_ITEM</A>).</P>
<DT><B><CODE>LNUP</CODE>, <CODE>CURSOR_UP</CODE></B><DD><P>Go to the previous item in the menu
(same as
<A HREF="Manual-3.html#command-MENU_PREV_ITEM">MENU_PREV_ITEM</A>).</P>
<DT><B><CODE>LNDN</CODE>, <CODE>CURSOR_DOWN</CODE></B><DD><P>Go to the next item in the menu
(same as
<A HREF="Manual-3.html#command-MENU_NEXT_ITEM">MENU_NEXT_ITEM</A>).</P>
<DT><B><CODE>WINUP</CODE>, <CODE>CHRLT</CODE>, <CODE>CURSOR_LEFT</CODE></B><DD><P>Decrement the current menu item's setting
(same as
<A HREF="Manual-3.html#command-MENU_PREV_SETTING">MENU_PREV_SETTING</A>).</P>
<DT><B><CODE>WINDN</CODE>, <CODE>CHRRT</CODE>, <CODE>CURSOR_RIGHT</CODE>, <CODE>HOME</CODE>, <CODE>RETURN</CODE></B><DD><P>Increment the current menu item's setting
(same as
<A HREF="Manual-3.html#command-MENU_NEXT_SETTING">MENU_NEXT_SETTING</A>).</P>
</DL>
</P>
<P>Notes:
<UL>
<LI>The routing keys can also be used to select a setting for the current item.
If the item has numeric settings,
then each routing key represents an integer (starting from 0),
and a selection which is out of range is silently brought into range.
If the item has named settings,
then the routing keys correspond ordinally with the settings.</LI>
<LI>Use the <CODE>PREFLOAD</CODE> command to undo all of the changes
which were made since entering the menu.</LI>
<LI>Use the <CODE>PREFMENU</CODE> command (again) to leave the new settings in effect,
exit the menu, and resume normal operation.
If the "Save Settings on Exit" item is set, then, in addition,
the new settings are written to the preferences settings file.
Any command not recognized by the menu system also does these same things.</LI>
</UL>
</P>
<H3>The Menu Items</H3>
<P>
<DL>
<DT><B>Save on Exit
<A NAME="preference-save-on-exit"></A> </B><DD><P>When exiting the preferences menu:
<DL>
<DT><B>No</B><DD><P>Don't automatically save the preferences settings.</P>
<DT><B>Yes</B><DD><P>Automatically save the preferences settings.</P>
</DL>
The initial setting is <CODE>No</CODE>.</P>
<DT><B>Text Style
<A NAME="preference-text-style"></A> </B><DD><P>When displaying screen content
(see the
<A HREF="Manual-3.html#command-DISPMD">DISPMD</A> command),
show characters:
<DL>
<DT><B>8-dot</B><DD><P>With all eight dots.</P>
<DT><B>6-dot</B><DD><P>With only dots 1 through 6.
If a contraction table has been selected
(see the
<A HREF="Manual-3.html#options-contraction-table">-c</A> command line option
and the
<A HREF="Manual-3.html#configure-contraction-table">contraction-table</A> configuration file directive),
then it is used.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-SIXDOTS">SIXDOTS</A> command.</P>
<DT><B>Meta Mode
<A NAME="preference-meta-mode"></A> </B><DD><P>Enter a meta character by:
<DL>
<DT><B>Escape Prefix</B><DD><P>Prefixing it with an <CODE>escape</CODE> byte.</P>
<DT><B>High-order Bit</B><DD><P>Setting its high-order bit.</P>
</DL>
Use the <CODE>setmetamode</CODE> command to find out how your system has been configured.
The initial setting is <CODE>Escape Prefix</CODE>.</P>
<DT><B>Skip Identical Lines
<A NAME="preference-skip-identical-lines"></A> </B><DD><P>When moving either up or down exactly one line with
the
<A HREF="Manual-3.html#command-LNUP">LNUP</A>
and
<A HREF="Manual-3.html#command-LNDN">LNDN</A> commands,
as well as the line wrapping feature of
the
<A HREF="Manual-3.html#command-FWINLT">FWINLT</A>,
<A HREF="Manual-3.html#command-FWINRT">FWINRT</A>,
<A HREF="Manual-3.html#command-FWINLTSKIP">FWINLTSKIP</A>,
and
<A HREF="Manual-3.html#command-FWINRTSKIP">FWINRTSKIP</A> commands:
<DL>
<DT><B>No</B><DD><P>Don't skip passed lines which have the same content as the current line.</P>
<DT><B>Yes</B><DD><P>Skip passed lines which have the same content as the current line.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-SKPIDLNS">SKPIDLNS</A> command.</P>
<DT><B>Skip Blank Windows
<A NAME="preference-skip-blank-windows"></A> </B><DD><P>When moving either left or right with
the
<A HREF="Manual-3.html#command-FWINLT">FWINLT</A>
and
<A HREF="Manual-3.html#command-FWINRT">FWINRT</A> commands:
<DL>
<DT><B>No</B><DD><P>Don't skip passed blank windows.</P>
<DT><B>Yes</B><DD><P>Skip passed blank windows.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-SKPBLNKWINS">SKPBLNKWINS</A> command.</P>
<DT><B>Which Blank Windows
<A NAME="preference-which-blank-windows"></A> </B><DD><P>If blank windows are to be skipped:
<DL>
<DT><B>All</B><DD><P>Skip all of them.</P>
<DT><B>End of Line</B><DD><P>Only skip those which are at the end (on the right side) of a line.</P>
<DT><B>Rest of Line</B><DD><P>Only skip those which are
at the end (on the right side) of a line when reading forward,
and at the beginning (on the left side) of a line when reading backward.</P>
</DL>
</P>
<DT><B>Sliding Window
<A NAME="preference-sliding-window"></A> </B><DD><P>If the cursor is being tracked
(see the
<A HREF="Manual-3.html#command-CSRTRK">CSRTRK</A> command),
and the cursor moves too close to (or beyond)
either end of the braille window:
<DL>
<DT><B>No</B><DD><P>Horizontally reposition the window such that its left end
is a multiple of its width from the left edge of the screen.</P>
<DT><B>Yes</B><DD><P>Horizontally reposition the window such that the cursor,
while remaining on that side of the window, is nearer the centre.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-SLIDEWIN">SLIDEWIN</A> command.</P>
<DT><B>Eager Sliding Window
<A NAME="preference-eager-sliding-window"></A> </B><DD><P>If the braille window is to slide:
<DL>
<DT><B>No</B><DD><P>Reposition it whenever the cursor moves beyond either end.</P>
<DT><B>Yes</B><DD><P>Reposition it whenever the cursor moves too close to either end.</P>
</DL>
The initial setting is <CODE>off</CODE>.</P>
<DT><B>Window Overlap
<A NAME="preference-window-overlap"></A> </B><DD><P>When moving either left or right with
the
<A HREF="Manual-3.html#command-FWINLT">FWINLT</A>
and
<A HREF="Manual-3.html#command-FWINRT">FWINRT</A> commands,
this setting specifies how many characters
horizontally adjacent braille windows should overlap each other by.
The initial setting is <CODE>0</CODE>.</P>
<DT><B>Show Cursor
<A NAME="preference-show-cursor"></A> </B><DD><P>When displaying screen content
(see the
<A HREF="Manual-3.html#command-DISPMD">DISPMD</A> command):
<DL>
<DT><B>No</B><DD><P>Don't show the cursor.</P>
<DT><B>Yes</B><DD><P>Show the cursor.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-CSRVIS">CSRVIS</A> command.</P>
<DT><B>Cursor Style
<A NAME="preference-cursor-style"></A> </B><DD><P>When showing the cursor, represent it:
<DL>
<DT><B>Underline</B><DD><P>With dots 7 and 8.</P>
<DT><B>Block</B><DD><P>With all eight dots.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-CSRSIZE">CSRSIZE</A> command.</P>
<DT><B>Blinking Cursor
<A NAME="preference-blinking-cursor"></A> </B><DD><P>When the cursor is to be shown:
<DL>
<DT><B>No</B><DD><P>Leave it visible all the time.</P>
<DT><B>Yes</B><DD><P>Make it alternately visible and invisible
according to a predefined interval.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-CSRBLINK">CSRBLINK</A> command.</P>
<DT><B>Cursor Visible Period
<A NAME="preference-cursor-visible-period"></A> </B><DD><P>When the cursor is to be blinked, this setting specifies the length of time
(see the note on
<A HREF="#time-settings">time settings</A> below)
during each cycle that it is to be visible.
The initial setting is <CODE>10</CODE>.</P>
<DT><B>Cursor Invisible Period
<A NAME="preference-cursor-invisible-period"></A> </B><DD><P>When the cursor is to be blinked, this setting specifies the length of time
(see the note on
<A HREF="#time-settings">time settings</A> below)
during each cycle that it is to be invisible.
The initial setting is <CODE>10</CODE>.</P>
<DT><B>Show Attributes
<A NAME="preference-show-attributes"></A> </B><DD><P>When displaying screen content
(see the
<A HREF="Manual-3.html#command-DISPMD">DISPMD</A> command):
<DL>
<DT><B>No</B><DD><P>Don't underline highlighted characters.</P>
<DT><B>Yes</B><DD><P>Underline highlighted characters.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-ATTRVIS">ATTRVIS</A> command.</P>
<DT><B>Blinking Attributes
<A NAME="preference-blinking-attributes"></A> </B><DD><P>When highlighted characters are to be underlined:
<DL>
<DT><B>No</B><DD><P>Leave the indicator visible all the time.</P>
<DT><B>Yes</B><DD><P>Make the indicator alternately visible and invisible
according to a predefined interval.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-ATTRBLINK">ATTRBLINK</A> command.</P>
<DT><B>Attributes Visible Period
<A NAME="preference-attributes-visible-period"></A> </B><DD><P>When the highlighted character underline is to be blinked,
this setting specifies the length of time
(see the note on
<A HREF="#time-settings">time settings</A> below)
during each cycle that it is to be visible.
The initial setting is <CODE>4</CODE>.</P>
<DT><B>Attributes Invisible Period
<A NAME="preference-attributes-invisible-period"></A> </B><DD><P>When the highlighted character underline is to be blinked,
this setting specifies the length of time
(see the note on
<A HREF="#time-settings">time settings</A> below)
during each cycle that it is to be invisible.
The initial setting is <CODE>12</CODE>.</P>
<DT><B>Blinking Capitals
<A NAME="preference-blinking-capitals"></A> </B><DD><P>When displaying screen content
(see the
<A HREF="Manual-3.html#command-DISPMD">DISPMD</A> command):
<DL>
<DT><B>No</B><DD><P>Leave capital letters visible all the time.</P>
<DT><B>Yes</B><DD><P>Make capital letters alternately visible and invisible
according to a predefined interval.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-CAPBLINK">CAPBLINK</A> command.</P>
<DT><B>Capitals Visible Period
<A NAME="preference-capitals-visible-period"></A> </B><DD><P>When capital letters are to be blinked,
this setting specifies the length of time
(see the note on
<A HREF="#time-settings">time settings</A> below)
during each cycle that they're to be visible.
The initial setting is <CODE>4</CODE>.</P>
<DT><B>Capitals Invisible Period
<A NAME="preference-capitals-invisible-period"></A> </B><DD><P>When capital letters are to be blinked,
this setting specifies the length of time
(see the note on
<A HREF="#time-settings">time settings</A> below)
during each cycle that they're to be invisible.
The initial setting is <CODE>2</CODE>.</P>
<DT><B>Window Follows Pointer
<A NAME="preference-window-follows-pointer"></A> </B><DD><P>When moving the pointer device (mouse):
<DL>
<DT><B>No</B><DD><P>Don't drag the braille window.</P>
<DT><B>Yes</B><DD><P>Drag the braille window.</P>
</DL>
This preference is only presented if the
<A HREF="Manual-2.html#build-gpm">--enable-gpm</A> build option was specified.</P>
<DT><B>Pointer Follows Window
<A NAME="preference-pointer-follows-window"></A> </B><DD><P>When moving the braille window:
<DL>
<DT><B>No</B><DD><P>Don't move the pointer (mouse).</P>
<DT><B>Yes</B><DD><P>Move the pointer (mouse) to the character on the screen
corresponding to the top-left corner of the braille window.</P>
</DL>
This preference is only presented if the
<A HREF="Manual-2.html#build-gpm">--enable-gpm</A> build option was specified.</P>
<DT><B>Alert Tunes
<A NAME="preference-alert-tunes"></A> </B><DD><P>Whenever a significant event with an associated tune occurs
(see
<A HREF="#tunes">Alert Tunes</A>):
<DL>
<DT><B>No</B><DD><P>Don't play the tune.</P>
<DT><B>Yes</B><DD><P>Play the tune.</P>
</DL>
This setting can also be changed with the
<A HREF="Manual-3.html#command-TUNES">TUNES</A> command.</P>
<DT><B>Tune Device
<A NAME="preference-tune-device"></A> </B><DD><P>Play alert tunes via:
<DL>
<DT><B>Beeper</B><DD><P>The internal beeper (console tone generator).
This setting is supported on Linux,
and on OpenBSD.
It's always safe to use,
although it may be somewhat soft.
This device isn't available if the
<A HREF="Manual-2.html#build-beeper-tunes">--disable-beeper-tunes</A> build option was specified.</P>
<DT><B>PCM</B><DD><P>The digital audio interface on the sound card.
This setting is supported on Linux (via <CODE>/dev/dsp</CODE>),
on OpenBSD (via <CODE>/dev/audio0</CODE>),
and on Solaris (via <CODE>/dev/audio</CODE>).
It doesn't work when this device is already being used
by another application.
This device isn't available if the
<A HREF="Manual-2.html#build-pcm-tunes">--disable-pcm-tunes</A> build option was specified.</P>
<DT><B>MIDI</B><DD><P>The Musical Instrument Digital Interface on the sound card
This setting is supported on Linux (via <CODE>/dev/sequencer</CODE>).
It doesn't work when this device is already being used
by another application.
This device isn't available if the
<A HREF="Manual-2.html#build-midi-tunes">--disable-midi-tunes</A> build option was specified.</P>
<DT><B>FM</B><DD><P>The FM synthesizer on an
AdLib, OPL3, Sound Blaster, or equivalent sound card.
This setting is supported on Linux.
It works even if the FM synthesizer
is already being used by another application.
The results are unpredictable, and potentially not very good,
if it's used with a sound card which doesn't support this feature.
This device isn't available if the
<A HREF="Manual-2.html#build-fm-tunes">--disable-fm-tunes</A> build option was specified.</P>
</DL>
The initial setting is <CODE>beeper</CODE> on those platforms which support it,
and <CODE>PCM</CODE> on those platforms which don't.</P>
<DT><B>MIDI Instrument
<A NAME="preference-midi-instrument"></A> </B><DD><P>If the Musical Instrument Digital Interface (MIDI) of the sound card
is being used to play the alert tunes,
this setting specifies which instrument is to be used
(see the
<A HREF="Manual-8.html#midi">MIDI Instrument Table</A>).
The initial setting is <CODE>Acoustic Grand Piano</CODE>.</P>
<DT><B>Alert Dots
<A NAME="preference-alert-dots"></A> </B><DD><P>Whenever a significant event with an associated dot pattern occurs
(see
<A HREF="#tunes">Alert Tunes</A>):
<DL>
<DT><B>No</B><DD><P>Don't display the dot pattern.</P>
<DT><B>Yes</B><DD><P>Briefly display the dot pattern.</P>
</DL>
If alert tunes are to be played
(see the
<A HREF="Manual-3.html#command-TUNES">TUNES</A> command
and the
<A HREF="#preference-alert-tunes">Alert Tunes</A> preference),
if a tune has been associated with the event,
and if the selected tune device can be opened,
then, regardless of the setting of this preference, the dot pattern isn't displayed.</P>
<DT><B>Alert Messages
<A NAME="preference-alert-messages"></A> </B><DD><P>Whenever a significant event with an associated message occurs
(see
<A HREF="#tunes">Alert Tunes</A>):
<DL>
<DT><B>No</B><DD><P>Don't display the message.</P>
<DT><B>Yes</B><DD><P>Display the message.</P>
</DL>
If alert tunes are to be played
(see the
<A HREF="Manual-3.html#command-TUNES">TUNES</A> command
and the
<A HREF="#preference-alert-tunes">Alert Tunes</A> preference),
if a tune has been associated with the event,
and if the selected tune device can be opened,
or if alert dot patterns are to be displayed
(see the
<A HREF="#preference-alert-dots">Alert Dots</A> preference)
and if a dot pattern has been associated with the event,
then, regardless of the setting of this preference, the message isn't displayed.</P>
<DT><B>Say-Line Mode
<A NAME="preference-sayline-mode"></A> </B><DD><P>When using the
<A HREF="Manual-3.html#command-SAY_LINE">SAY_LINE</A> command:
<DL>
<DT><B>Immediate</B><DD><P>Discard pending speech.</P>
<DT><B>Enqueue</B><DD><P>Don't discard pending speech.</P>
</DL>
</P>
<DT><B>Autospeak
<A NAME="preference-autospeak"></A> </B><DD><P>
<DL>
<DT><B>No</B><DD><P>Only speak when explicitly requested to do so
(see section
<A HREF="Manual-3.html#speech">Speech Controls</A>).</P>
<DT><B>Yes</B><DD><P>This setting is experimental.</P>
</DL>
</P>
<DT><B>Status Style
<A NAME="preference-status-style"></A> </B><DD><P>This setting specifies the way that the status cells are to be used.
You shuldn't normally need to play with it.
It enables BRLTTY's developers to test status cell configurations
for braille displays which they don't actually have.
<DL>
<DT><B>None</B><DD><P>Don't use the status cells.
This setting is always safe, but it's also quite useless.</P>
<DT><B>Alva</B><DD><P>The status cells contain:
<DL>
<DT><B>1</B><DD><P>The location of the cursor (see below).</P>
<DT><B>2</B><DD><P>The location of the top-left corner of the braille window (see below).</P>
<DT><B>3</B><DD><P>A letter indicating BRLTTY's state.
In order of precedence:
<DL>
<DT><B>a</B><DD><P>Screen attributes are being shown
(see the
<A HREF="Manual-3.html#command-DISPMD">DISPMD</A> command).</P>
<DT><B>f</B><DD><P>The screen image is frozen
(see the
<A HREF="Manual-3.html#command-FREEZE">FREEZE</A> command).</P>
<DT><B>f</B><DD><P>The cursor is being tracked
(see the
<A HREF="Manual-3.html#command-CSRTRK">CSRTRK</A> command).</P>
<DT><B><EM>blank</EM></B><DD><P>Nothing special.</P>
</DL>
</P>
</DL>
The locations of the cursor and the braille window
are presented in an interesting way.
Dots 1 through 6 represent the line number with a letter
from <CODE>a</CODE> (for 1) through <CODE>y</CODE> (for 25).
Dots 7 and 8 (the extra two at the bottom)
represent the horizontal braille window number as follows:
<DL>
<DT><B>No Dots</B><DD><P>The first (leftmost) window.</P>
<DT><B>Dot 7</B><DD><P>The second window.</P>
<DT><B>Dot 8</B><DD><P>The third window.</P>
<DT><B>Dots 7 and 8</B><DD><P>The fourth window.</P>
</DL>
In both cases, the indicators wrap:
line 26 is represented by the letter <CODE>a</CODE>, and the fifth horizontal
braille window is represented by no dots at the bottom.</P>
<DT><B>Tieman</B><DD><P>The status cells contain:
<DL>
<DT><B>1-2</B><DD><P>The columns (counting from zero) of the cursor
(shown in the top half of the cells)
and the top-left corner of the braille window
(shown in the bottom half of the cells).</P>
<DT><B>3-4</B><DD><P>The rows (counting from zero) of the cursor
(shown in the top half of the cells)
and the top-left corner of the braille window
(shown in the bottom half of the cells).</P>
<DT><B>5</B><DD><P>Each dot indicates if a feature is turned on as follows:
<DL>
<DT><B>Dot 1</B><DD><P>The screen image is frozen
(see the
<A HREF="Manual-3.html#command-FREEZE">FREEZE</A> command).</P>
<DT><B>Dot 2</B><DD><P>Screen attributes are being displayed
(see the
<A HREF="Manual-3.html#command-DISPMD">DISPMD</A> command).</P>
<DT><B>Dot 3</B><DD><P>Alert tunes are being played
(see the
<A HREF="Manual-3.html#command-TUNES">TUNES</A> command).</P>
<DT><B>Dot 4</B><DD><P>The cursor is being shown
(see the
<A HREF="Manual-3.html#command-CSRVIS">CSRVIS</A> command).</P>
<DT><B>Dot 5</B><DD><P>The cursor is a solid block
(see the
<A HREF="Manual-3.html#command-CSRSIZE">CSRSIZE</A> command).</P>
<DT><B>Dot 6</B><DD><P>The cursor is blinking
(see the
<A HREF="Manual-3.html#command-CSRBLINK">CSRBLINK</A> command).</P>
<DT><B>Dot 7</B><DD><P>The cursor is being tracked
(see the
<A HREF="Manual-3.html#command-CSRTRK">CSRTRK</A> command).</P>
<DT><B>Dot 8</B><DD><P>The braille window will slide
(see the
<A HREF="Manual-3.html#command-SLIDEWIN">SLIDEWIN</A> command).</P>
</DL>
</P>
</DL>
</P>
<DT><B>PowerBraille 80</B><DD><P>The status cells contain:
<DL>
<DT><B>1</B><DD><P>The row (counting from 1) corresponding
to the top of the braille window.
The tens digit is shown in the top half of the cell,
and the units digit is shown in the bottom half of the cell.</P>
</DL>
</P>
<DT><B>Generic</B><DD><P>This setting passes a lot of information to the braille driver,
and the driver itself decides how to present it.</P>
<DT><B>MDV</B><DD><P>The status cells contain:
<DL>
<DT><B>1-2</B><DD><P>The location of the top-left corner of the braille window.
The row (counting from 1) is shown in the top half of the cells,
and the column (counting from 1) is shown in the bottom half of the cells.</P>
</DL>
</P>
<DT><B>Voyager</B><DD><P>The status cells contain:
<DL>
<DT><B>1</B><DD><P>The row (counting from 0) corresponding to
the top of the braille window (see below).</P>
<DT><B>2</B><DD><P>The row (counting from 0) whereon the cursor is (see below).</P>
<DT><B>3</B><DD><P>If the screen is frozen
(see the
<A HREF="Manual-3.html#command-FREEZE">FREEZE</A> command),
then the letter <CODE>F</CODE>.
If it isn't, then
the column (counting from 0) wherein the cursor is (see below).</P>
</DL>
Row and column numbers are shown as two digits within a single cell.
The tens digit is shown in the top half of the cell,
and the units digit is shown in the bottom half of the cell.</P>
</DL>
It's initial setting is braille display driver dependent.</P>
<DT><B>Text Table
<A NAME="preference-text-table"></A> </B><DD><P>Select the text translation table.
See section
<A HREF="Manual-5.html#translation-text">Text Translation</A> for details.
See the
<A HREF="Manual-3.html#options-text-table">-t</A> command line option for the initial setting.
This preference isn't saved.
It isn't presented if the
<A HREF="Manual-2.html#build-table-selection">--disable-table-selection</A> build option was specified.</P>
<DT><B>Attributesw Table
<A NAME="preference-attributes-table"></A> </B><DD><P>Select the attributes translation table.
See section
<A HREF="Manual-5.html#translation-attributes">Attributes Translation</A> for details.
See the
<A HREF="Manual-3.html#options-attributes-table">-a</A> command line option for the initial setting.
This preference isn't saved.
It isn't presented if the
<A HREF="Manual-2.html#build-table-selection">--disable-table-selection</A> build option was specified.</P>
<DT><B>Contraction Table
<A NAME="preference-contraction-table"></A> </B><DD><P>Select the contraction table.
See section
<A HREF="#contraction">Contracted Braille</A> for details.
See the
<A HREF="Manual-3.html#options-contraction-table">-c</A> command line option for the initial setting.
This preference isn't saved.
It isn't presented if the
<A HREF="Manual-2.html#build-table-selection">--disable-table-selection</A> build option was specified.</P>
</DL>
</P>
<P>Notes:
<UL>
<LI>
<A NAME="time-settings"></A>
All time settings are in braille window refresh intervals
(see the
<A HREF="Manual-3.html#options-refresh-interval">-M</A> command line option).
They are integers within the range 1 through 16.</LI>
</UL>
</P>
<H2><A NAME="status"></A> <A NAME="ss4.6">4.6</A> <A HREF="Manual.html#toc4.6">The Status Display</A>
</H2>
<P>The status display is a summary of BRLTTY's current state
which fits completely within the braille window.
Some braille displays have a set of status cells
which are used to permanently display some of this information as well
(see the documentation for your display's driver).
The data presented by this display isn't static, and may change at any time
in response to screen updates and/or BRLTTY commands.</P>
<P>Use the
<A HREF="Manual-3.html#command-INFO">INFO</A> command
to switch to the status display,
and use it again to return to the screen.
The layout of the information contained therein
is dependent on the size of the braille window.</P>
<H3>Displays with 21 Cells or More</H3>
<P>Short pneumonics have been used, even though they're rather cryptic,
in order to show the precise column layout.
<BLOCKQUOTE><CODE>
<EM>wx</EM>:<EM>wy</EM> <EM>cx</EM>:<EM>cy</EM> <EM>vt</EM> <EM>tcmfdu</EM>
</CODE></BLOCKQUOTE>
<DL>
<DT><B><EM>wx</EM><CODE>:</CODE><EM>wy</EM></B><DD><P>The column and row (counting from 0) on the screen corresponding
to the top-left corner of the braille window.</P>
<DT><B><EM>cx</EM><CODE>:</CODE><EM>cy</EM></B><DD><P>The column and row (counting from 0) on the screen corresponding
to the position of the cursor.</P>
<DT><B><EM>vt</EM></B><DD><P>The number (counting from 1) of the current virtual terminal.</P>
<DT><B><EM>t</EM></B><DD><P>The state of the cursor tracking feature
(see the
<A HREF="Manual-3.html#command-CSRTRK">CSRTRK</A> command).
<DL>
<DT><B>blank</B><DD><P>Cursor tracking is off.</P>
<DT><B><CODE>t</CODE></B><DD><P>Cursor tracking is on.</P>
</DL>
</P>
<DT><B><EM>c</EM></B><DD><P>The state of the cursor visibility features
(see the
<A HREF="Manual-3.html#command-CSRVIS">CSRVIS</A>
and
<A HREF="Manual-3.html#command-CSRBLINK">CSRBLINK</A> commands).
<DL>
<DT><B>blank</B><DD><P>The cursor isn't visible, and won't blink when made visible.</P>
<DT><B><CODE>b</CODE></B><DD><P>The cursor isn't visible, and will blink when made visible.</P>
<DT><B><CODE>v</CODE></B><DD><P>The cursor is visible, and isn't blinking.</P>
<DT><B><CODE>B</CODE></B><DD><P>The cursor is visible, and is blinking.</P>
</DL>
</P>
<DT><B><EM>m</EM></B><DD><P>The current display mode
(see the
<A HREF="Manual-3.html#command-DISPMD">DISPMD</A> command).
<DL>
<DT><B><CODE>t</CODE></B><DD><P>Screen content (text) is being displayed.</P>
<DT><B><CODE>a</CODE></B><DD><P>Screen highlighting (attributes) is being displayed.</P>
</DL>
</P>
<DT><B><EM>f</EM></B><DD><P>The state of the frozen screen feature
(see the
<A HREF="Manual-3.html#command-FREEZE">FREEZE</A> command).
<DL>
<DT><B>blank</B><DD><P>The screen isn't frozen.</P>
<DT><B><CODE>f</CODE></B><DD><P>The screen is frozen.</P>
</DL>
</P>
<DT><B><EM>d</EM></B><DD><P>The number of braille dots being used to display each character
(see the
<A HREF="Manual-3.html#command-SIXDOTS">SIXDOTS</A> command).
<DL>
<DT><B><CODE>8</CODE></B><DD><P>All eight dots are being used.</P>
<DT><B><CODE>6</CODE></B><DD><P>Only dots 1 through 6 are being used.</P>
</DL>
</P>
<DT><B><EM>u</EM></B><DD><P>The state of the uppercase (capital letter) display features
(see the
<A HREF="Manual-3.html#command-CAPBLINK">CAPBLINK</A> command).
<DL>
<DT><B>blank</B><DD><P>Uppercase letters don't blink.</P>
<DT><B><CODE>B</CODE></B><DD><P>Uppercase letters blink.</P>
</DL>
</P>
</DL>
</P>
<H3>Displays with 20 Cells or Less</H3>
<P>Short pneumonics have been used, even though they're rather cryptic,
in order to show the precise column layout.
<BLOCKQUOTE><CODE>
<EM>xx</EM><EM>yy</EM><EM>s</EM> <EM>vt</EM> <EM>tcmfdu</EM>
</CODE></BLOCKQUOTE>
<DL>
<DT><B><EM>xx</EM></B><DD><P>The columns (counting from 0) on the screen corresponding
to the position of the cursor (shown in the top half of the cells)
and to the top-left corner of the braille window (shown in the bottom half of the cells).</P>
<DT><B><EM>yy</EM></B><DD><P>The rows (counting from 0) on the screen corresponding
to the position of the cursor (shown in the top half of the cells)
and to the top-left corner of the braille window (shown in the bottom half of the cells).</P>
<DT><B><EM>s</EM></B><DD><P>The settings of some of BRLTTY's features.
A feature is turned on if its corresponding dot is raised.
<DL>
<DT><B>Dot 1</B><DD><P>Frozen screen image
(see the
<A HREF="Manual-3.html#command-FREEZE">FREEZE</A> command).</P>
<DT><B>Dot 2</B><DD><P>Display attributes
(see the
<A HREF="Manual-3.html#command-DISPMD">DISPMD</A> command).</P>
<DT><B>Dot 3</B><DD><P>Alert tunes
(see the
<A HREF="Manual-3.html#command-TUNES">TUNES</A> command).</P>
<DT><B>Dot 4</B><DD><P>Visible cursor
(see the
<A HREF="Manual-3.html#command-CSRVIS">CSRVIS</A> command).</P>
<DT><B>Dot 5</B><DD><P>Block cursor
(see the
<A HREF="Manual-3.html#command-CSRSIZE">CSRSIZE</A> command).</P>
<DT><B>Dot 6</B><DD><P>Blinking cursor
(see the
<A HREF="Manual-3.html#command-CSRBLINK">CSRBLINK</A> command).</P>
<DT><B>Dot 7</B><DD><P>Cursor tracking
(see the
<A HREF="Manual-3.html#command-CSRTRK">CSRTRK</A> command).</P>
<DT><B>Dot 8</B><DD><P>Sliding window
(see the
<A HREF="Manual-3.html#command-SLIDEWIN">SLIDEWIN</A> command).</P>
</DL>
</P>
<DT><B><EM>vt</EM></B><DD><P>The number (counting from 1) of the current virtual terminal.</P>
<DT><B><EM>t</EM></B><DD><P>The state of the cursor tracking feature
(see the
<A HREF="Manual-3.html#command-CSRTRK">CSRTRK</A> command).
<DL>
<DT><B>blank</B><DD><P>Cursor tracking is off.</P>
<DT><B><CODE>t</CODE></B><DD><P>Cursor tracking is on.</P>
</DL>
</P>
<DT><B><EM>c</EM></B><DD><P>The state of the cursor visibility features
(see the
<A HREF="Manual-3.html#command-CSRVIS">CSRVIS</A>
and
<A HREF="Manual-3.html#command-CSRBLINK">CSRBLINK</A> commands).
<DL>
<DT><B>blank</B><DD><P>The cursor isn't visible, and won't blink when made visible.</P>
<DT><B><CODE>b</CODE></B><DD><P>The cursor isn't visible, and will blink when made visible.</P>
<DT><B><CODE>v</CODE></B><DD><P>The cursor is visible, and isn't blinking.</P>
<DT><B><CODE>B</CODE></B><DD><P>The cursor is visible, and is blinking.</P>
</DL>
</P>
<DT><B><EM>m</EM></B><DD><P>The current display mode
(see the
<A HREF="Manual-3.html#command-DISPMD">DISPMD</A> command).
<DL>
<DT><B><CODE>t</CODE></B><DD><P>Screen content (text) is being displayed.</P>
<DT><B><CODE>a</CODE></B><DD><P>Screen highlighting (attributes) is being displayed.</P>
</DL>
</P>
<DT><B><EM>f</EM></B><DD><P>The state of the frozen screen feature
(see the
<A HREF="Manual-3.html#command-FREEZE">FREEZE</A> command).
<DL>
<DT><B>blank</B><DD><P>The screen isn't frozen.</P>
<DT><B><CODE>f</CODE></B><DD><P>The screen is frozen.</P>
</DL>
</P>
<DT><B><EM>d</EM></B><DD><P>The number of braille dots being used to display each character
(see the
<A HREF="Manual-3.html#command-SIXDOTS">SIXDOTS</A> command).
<DL>
<DT><B><CODE>8</CODE></B><DD><P>All eight dots are being used.</P>
<DT><B><CODE>6</CODE></B><DD><P>Only dots 1 through 6 are being used.</P>
</DL>
</P>
<DT><B><EM>u</EM></B><DD><P>The state of the uppercase (capital letter) display features
(see the
<A HREF="Manual-3.html#command-CAPBLINK">CAPBLINK</A> command).
<DL>
<DT><B>blank</B><DD><P>Uppercase letters don't blink.</P>
<DT><B><CODE>B</CODE></B><DD><P>Uppercase letters blink.</P>
</DL>
</P>
</DL>
</P>
<H2><A NAME="learn"></A> <A NAME="ss4.7">4.7</A> <A HREF="Manual.html#toc4.7">Command Learn Mode</A>
</H2>
<P>Command learn mode is an interactive way to learn
what the keys on the braille display do.
It can be accessed
either by the
<A HREF="Manual-3.html#command-LEARN">LEARN</A> command
or via the
<A HREF="Manual-2.html#utility-brltest">brltest</A> utility.
This feature isn't available if the
<A HREF="Manual-2.html#build-learn-mode">--disable-learn-mode</A> build option was specified.</P>
<P>When this mode is entered,
the message <CODE>command learn mode</CODE> is written to the braille display.
Then, as each key (or key combination) on the display is pressed,
a short message describing its BRLTTY function is written.
This mode exits immediately if the key (or key combination)
for the
<A HREF="Manual-3.html#command-LEARN">LEARN</A> command is pressed.
It exits automatically, and the message <CODE>done</CODE> is written,
if ten seconds elapse without any key on the display being pressed.
Note that some displays don't signal the driver
and/or some drivers don't signal BRLTTY
until all the keys are released.</P>
<P>If a message is longer than the braille display is wide,
then it's displayed in segments.
The length of each segment but the last is one less than the display's width,
with the rightmost character on the display being set to a minus sign.
Each such segment remains on the display
either for a few seconds
(see the
<A HREF="Manual-3.html#options-message-delay">-M</A> command line option)
or until any key on the display is pressed.</P>
<H2><A NAME="contraction"></A> <A NAME="ss4.8">4.8</A> <A HREF="Manual.html#toc4.8">Contracted Braille</A>
</H2>
<P>BRLTTY can display in-line contracted braille.
It does this if:
<UL>
<LI>A contraction table has been selected.
See the
<A HREF="Manual-3.html#options-contraction-table">-c</A> command line option
and the
<A HREF="Manual-3.html#configure-contraction-table">contraction-table</A> configuration file directive
for details.</LI>
<LI>The 6-dot braille feature has been activated.
See the
<A HREF="Manual-3.html#command-SIXDOTS">SIXDOTS</A> command
and the
<A HREF="#preference-text-style">Text Style</A> preference
for details.</LI>
</UL>
This feature isn't available if the
<A HREF="Manual-2.html#build-contracted-braille">--disable-contracted-braille</A> build option was specified.</P>
<P>The following contraction tables are provided:
<DL>
<DT><B>big5.ctb</B><DD><P>Chinese big5.</P>
<DT><B>big5</B><DD><P>Chinese</P>
<DT><B>compress</B><DD><P>Remove excessive white-space.</P>
<DT><B>en-us-g2</B><DD><P>Grade 2 American English.</P>
</DL>
</P>
<H3>File Format</H3>
<P>Blank lines are ignored.
Any leading and trailing white-space (any number of blanks and/or tabs) is ignored.
Lines which begin with a number sign (<CODE>#</CODE>) are ignored,
i.e. they're comments.
<BLOCKQUOTE><CODE>
# This is a comment.
</CODE></BLOCKQUOTE>
All other lines define table entries.</P>
<P>The general form of a table entry is an opcode followed by its operands.
The opcode and its operands are separated from one another by white-space.
Each opcode has a specific number of operands,
and any text following its last operand is treated as a comment.
<BLOCKQUOTE><CODE>
<EM>opcode</EM> <EM>operand</EM> ... <EM>comment</EM>
</CODE></BLOCKQUOTE>
</P>
<P>The opcode is a number which tells the translator how to interpret the operands.
Opcode <CODE>0</CODE> can be used to assign a meaningful name to each needed opcode,
e.g. <CODE>opcode</CODE> for <CODE>0</CODE> itself.
If, for example, a table begins with:
<BLOCKQUOTE><CODE>
0 0 opcode
</CODE></BLOCKQUOTE>
then all the rest of the opcodes it needs can be defined like this:
<BLOCKQUOTE><CODE>
opcode 1 include
</CODE></BLOCKQUOTE>
This scheme, i.e. no built-in opcode names, was chosen in order to allow
a table for some language's braille to be written solely in that language itself.</P>
<P>The following operand types are supported:
<DL>
<DT><B>string</B><DD><P>A sequence of characters other than
white-space (which terminates the string)
and backslashes (<CODE>\</CODE>).
The following special representations are also supported:
<DL>
<DT><B><CODE>\\</CODE></B><DD><P>backslash</P>
<DT><B><CODE>\f</CODE></B><DD><P>form feed</P>
<DT><B><CODE>\n</CODE></B><DD><P>new line</P>
<DT><B><CODE>\o</CODE><EM>ooo</EM></B><DD><P>3-digit octal value</P>
<DT><B><CODE>\r</CODE></B><DD><P>carriage return</P>
<DT><B><CODE>\s</CODE></B><DD><P>blank (space)</P>
<DT><B><CODE>\t</CODE></B><DD><P>horizontal tab</P>
<DT><B><CODE>\v</CODE></B><DD><P>vertical tab</P>
<DT><B><CODE>\x</CODE><EM>xx</EM></B><DD><P>2-digit hexadecimal value</P>
</DL>
</P>
<DT><B>number</B><DD><P>An integer.
It may be specified in any of the following ways:
<DL>
<DT><B>decimal</B><DD><P>A sequence of decimal digits (<CODE>0</CODE>-<CODE>9</CODE>),
with the first digit being nonzero (<CODE>1</CODE>-<CODE>9</CODE>).</P>
<DT><B>hexadecimal</B><DD><P>A sequence of hexadecimal digits (<CODE>0</CODE>-<CODE>9</CODE>, and either <CODE>a</CODE>-<CODE>f</CODE> or <CODE>A</CODE>-<CODE>F</CODE>),
preceded by either <CODE>0x</CODE> or <CODE>0X</CODE>.</P>
<DT><B>octal</B><DD><P>A sequence of octal digits (<CODE>0</CODE>-<CODE>7</CODE>),
with the first digit being zero (<CODE>0</CODE>).</P>
</DL>
</P>
<DT><B>dots</B><DD><P>A braille symbol.
The braille dots must be specified via their standard numbers
(see section
<A HREF="Manual-8.html#dots">Braille Dot Numbering Convention</A>),
and, for a multi-cell symbol, the cell specifications
must be separated from one another by a dash (<CODE>-</CODE>).
For example, the contraction for the English word <CODE>lord</CODE>
(the letter <CODE>l</CODE> prefixed with dot 5)
would be specified as <CODE>5-123</CODE>.
A space may be specified via the special dot number <CODE>0</CODE>.</P>
</DL>
</P>
<H3><A NAME="contraction-opcode-number"></A> Opcode Summary by Number</H3>
<P>First, here's a quick summary of all of the contraction table opcodes.
For the details, see section
<A HREF="#contraction-opcode-function">Opcodes by Function</A>.
<DL>
<DT><B>
<A HREF="#contraction-opcode-0">0</A> <EM>opcode</EM> <EM>name</EM></B><DD><P>Name opcode.</P>
<DT><B>
<A HREF="#contraction-opcode-1">1</A> <EM>path</EM></B><DD><P>Include file.</P>
<DT><B>
<A HREF="#contraction-opcode-2">2</A> <EM>dots</EM></B><DD><P>Define capital sign.</P>
<DT><B>
<A HREF="#contraction-opcode-3">3</A> <EM>dots</EM></B><DD><P>Define begin capitals sign.</P>
<DT><B>
<A HREF="#contraction-opcode-4">4</A> <EM>dots</EM></B><DD><P>Define letter sign.</P>
<DT><B>
<A HREF="#contraction-opcode-5">5</A> <EM>dots</EM></B><DD><P>Define number sign.</P>
<DT><B>
<A HREF="#contraction-opcode-6">6</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate unconditionally.</P>
<DT><B>
<A HREF="#contraction-opcode-7">7</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate unconditionally, remove repetitions.</P>
<DT><B>
<A HREF="#contraction-opcode-8">8</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if word.</P>
<DT><B>
<A HREF="#contraction-opcode-9">9</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if at beginning of word.</P>
<DT><B>
<A HREF="#contraction-opcode-10">10</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if in middle of word.</P>
<DT><B>
<A HREF="#contraction-opcode-11">11</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if at end of word.</P>
<DT><B>
<A HREF="#contraction-opcode-12">12</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if in middle or at end of word.</P>
<DT><B>
<A HREF="#contraction-opcode-13">13</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if in middle of number.</P>
<DT><B>
<A HREF="#contraction-opcode-14">14</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if white-space-bounded word.</P>
<DT><B>
<A HREF="#contraction-opcode-15">15</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate unconditionally, join consecutive words of this type.</P>
<DT><B>
<A HREF="#contraction-opcode-16">16</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if word, join to next word.</P>
<DT><B>
<A HREF="#contraction-opcode-17">17</A> <EM>characters</EM></B><DD><P>Translate whole white-space-bounded sequence unconditionally into computer braille.</P>
<DT><B>
<A HREF="#contraction-opcode-18">18</A> <EM>characters</EM></B><DD><P>Prefix with letter sign if word.</P>
<DT><B>
<A HREF="#contraction-opcode-19">19</A> <EM>characters</EM> <EM>characters</EM></B><DD><P>Replace the first set of characters with the second.</P>
<DT><B>
<A HREF="#contraction-opcode-20">20</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if at end of number.</P>
<DT><B>
<A HREF="#contraction-opcode-21">21</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if at beginning of number.</P>
<DT><B>
<A HREF="#contraction-opcode-22">22</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if part of leading punctuation.</P>
<DT><B>
<A HREF="#contraction-opcode-23">23</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if part of trailing punctuation.</P>
<DT><B>
<A HREF="#contraction-opcode-24">24</A> <EM>characters</EM> <EM>dots</EM></B><DD><P>Translate if word or at beginning of word.</P>
<DT><B>
<A HREF="#contraction-opcode-25">25</A> <EM>dots</EM></B><DD><P>Define end capitals sign.</P>
<DT><B>
<A HREF="#contraction-opcode-26">26</A> <EM>locale</EM></B><DD><P>Define locale.</P>
</DL>
</P>
<H3><A NAME="contraction-opcode-function"></A> Opcodes by Function</H3>
<P>Now for all of the details.
The opcodes here are grouped by function rather than sorted by number.
For a numerically sorted list, see section
<A HREF="#contraction-opcode-number">Opcode Summary by Number</A>.</P>
<H3>Table Administration</H3>
<P>These opcodes make it easier to write contraction tables.
They have no direct effect on the character translation.
<DL>
<DT><B>0 <EM>opcode</EM> <EM>name</EM>
<A NAME="contraction-opcode-0"></A> </B><DD><P>Assign a name to an opcode.
The name must be defined before it's used.</P>
<DT><B>1 <EM>path</EM>
<A NAME="contraction-opcode-1"></A> </B><DD><P>Include the contents of another file.
Nesting can be to any depth.
Relative paths are anchored at the directory of the including file.</P>
<DT><B>26 <EM>locale</EM>
<A NAME="contraction-opcode-26"></A> </B><DD><P>Define the locale for character interpretation
(lowercase, uppercase, numeric, etc.).
The locale may be specified as:
<DL>
<DT><B><EM>language</EM>[<CODE>_</CODE><EM>country</EM>][<CODE>.</CODE><EM>charset</EM>][<CODE>@</CODE><EM>modifier</EM>]</B><DD><P>The <EM>language</EM> component is required and should be a two-letter <CODE>ISO-639</CODE> language code.
The <EM>country</EM> component is optional and should be a two-letter <CODE>ISO-3166</CODE> country code.
The <EM>charset</EM> component is optional and should be a character set name, e.g. <CODE>ISO-8859-1</CODE>.</P>
<DT><B>C</B><DD><P>7-bit ASCII.</P>
<DT><B>-</B><DD><P>No locale.</P>
</DL>
The last locale specification applies to the entire table.
If this opcode isn't used then the <CODE>C</CODE> locale is assumed.</P>
</DL>
</P>
<H3>Special Symbol Definition</H3>
<P>These opcodes define special symbols which must be
inserted into the braille text in order to clarify it.
<DL>
<DT><B>2 <EM>dots</EM>
<A NAME="contraction-opcode-2"></A> </B><DD><P>The symbol which capitalizes a single letter.</P>
<DT><B>3 <EM>dots</EM>
<A NAME="contraction-opcode-3"></A> </B><DD><P>The symbol which begins a block of capital letters within a word.</P>
<DT><B>25 <EM>dots</EM>
<A NAME="contraction-opcode-25"></A> </B><DD><P>The symbol which ends a block of capital letters within a word.</P>
<DT><B>4 <EM>dots</EM>
<A NAME="contraction-opcode-4"></A> </B><DD><P>The symbol which marks a letter which isn't part of a word.</P>
<DT><B>5 <EM>dots</EM>
<A NAME="contraction-opcode-5"></A> </B><DD><P>The symbol which marks the beginning of a number.</P>
</DL>
</P>
<H3>Character Translation</H3>
<P>These opcodes define the braille representations for character sequences.
Each of them defines an entry within the contraction table.
These entries may be defined in any order except, as noted below,
when they define alternate representations for the same character sequence.</P>
<P>Each of these opcodes has
a <EM>characters</EM> operand (which must be specified as a <EM>string</EM>),
and a built-in condition governing its eligibility for use.
The text is processed strictly from left to right, character by character,
with the most eligible entry for each position being used.
If there's more than one eligible entry for a given position,
then the one with the longest character string is used.
If there's more than one eligible entry for the same character string,
then the one defined nearest to the beginning of the table is used
(this is the only order dependency).</P>
<P>Many of these opcodes have a <EM>dots</EM> operand
which defines the braille representation for its <EM>characters</EM> operand.
It may also be specified as an equals sign (<CODE>=</CODE>),
in which case it means one of two things.
If the entry is for a single character,
then it means that the currently selected computer braille representation
(see the
<A HREF="Manual-3.html#options-text-table">-t</A> command line option
and the
<A HREF="Manual-3.html#configure-text-table">text-table</A> configuration file directive)
for that character is to be used.
If it's for a multi-character sequence,
then the default representation for each character
(see
<A HREF="#contraction-opcode-6">opcode 6</A>)
within the sequence is to be used.</P>
<P>Some special terms are used within the descriptions of these opcodes.
<DL>
<DT><B>word</B><DD><P>A maximal sequence of one or more consecutive letters.</P>
</DL>
</P>
<P>Now, finally, here are the opcode descriptions themselves:
<DL>
<DT><B>17 <EM>characters</EM>
<A NAME="contraction-opcode-17"></A> </B><DD><P>Translate the entire white-space-bounded containing character sequence into computer braille
(see the
<A HREF="Manual-3.html#options-text-table">-t</A> command line option
and the
<A HREF="Manual-3.html#configure-text-table">text-table</A> configuration file directive).</P>
<DT><B>19 <EM>characters</EM> <EM>characters</EM>
<A NAME="contraction-opcode-19"></A> </B><DD><P>Replace the first set of characters, no matter where they appear, with the second.
The replaced characters aren't reprocessed.</P>
<DT><B>6 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-6"></A> </B><DD><P>Translate the characters no matter where they appear.
If there's only one character, then, in addition,
define the default representation for that character.</P>
<DT><B>7 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-7"></A> </B><DD><P>Translate the characters no matter where they appear.
Ignore any consecutive repetitions of the same sequence.</P>
<DT><B>15 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-15"></A> </B><DD><P>Translate the characters no matter where they appear.
Remove white-space between consecutive words matched by this opcode.</P>
<DT><B>8 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-8"></A> </B><DD><P>Translate the characters if they're a word.</P>
<DT><B>16 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-16"></A> </B><DD><P>Translate the characters if they're a word.
Remove the following white-space if the first character after it is a letter.</P>
<DT><B>14 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-14"></A> </B><DD><P>Translate the characters if they're a white-space-bounded word.</P>
<DT><B>18 <EM>characters</EM>
<A NAME="contraction-opcode-18"></A> </B><DD><P>Prefix the characters with a letter sign
(see
<A HREF="#contraction-opcode-4">opcode 4</A>)
if they're a word.</P>
<DT><B>24 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-24"></A> </B><DD><P>Translate the characters if they're either a word or at the beginning of a word.</P>
<DT><B>9 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-9"></A> </B><DD><P>Translate the characters if they're at the beginning of a word.</P>
<DT><B>10 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-10"></A> </B><DD><P>Translate the characters if they're in the middle of a word.</P>
<DT><B>12 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-12"></A> </B><DD><P>Translate the characters if they're either in the middle or at the end of a word.</P>
<DT><B>11 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-11"></A> </B><DD><P>Translate the characters if they're at the end of a word.</P>
<DT><B>22 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-22"></A> </B><DD><P>Translate the characters if they're part of punctuation at the beginning of a word.</P>
<DT><B>23 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-23"></A> </B><DD><P>Translate the characters if they're part of punctuation at the end of a word.</P>
<DT><B>21 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-21"></A> </B><DD><P>Translate the characters if they're at the beginning of a number.</P>
<DT><B>13 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-13"></A> </B><DD><P>Translate the characters if they're in the middle of a number.</P>
<DT><B>20 <EM>characters</EM> <EM>dots</EM>
<A NAME="contraction-opcode-20"></A> </B><DD><P>Translate the characters if they're at the end of a number.</P>
</DL>
</P>
<HR>
<A HREF="Manual-5.html">Next</A>
<A HREF="Manual-3.html">Previous</A>
<A HREF="Manual.html#toc4">Contents</A>
</BODY>
</HTML>
|