Commit 3d0bd3a8 authored by ROOL's avatar ROOL :robot:
Browse files

Add support for selecting from Unicode fonts

Detail:
  Changed !RunImage to support working with the Unicode Font Manager, and revised !Help.
  Replacement templates, and revised Messages for the extra menus and window layout.
  As this component also features in the disc image (RO350Hook) it also degrades on earlier Font Managers.
Admin:
  Submission from Chris Wraight.
  To get the code point names while hovering with the mouse, Unicode-0_35 should be updated for the CharNames table.

Version 2.00. Tagged as 'Chars-2_00'
......@@ -13,4 +13,4 @@
| limitations under the License.
|
Dir <Obey$Dir>
amu_machine install INSTDIR=<obey$dir>
amu_machine install INSTDIR=<Install$Dir>.HardDisc4.!Boot.RO350Hook.Apps
......@@ -14,17 +14,7 @@
#
# Makefile for Chars
#
# ***********************************
# *** C h a n g e L i s t ***
# ***********************************
# Date Name Description
# ---- ---- -----------
# 05-Nov-94 AMcC Updated for Black build
#
#
# Program specific options:
#
COMPONENT = Chars
APP = !${COMPONENT}
ROM_MODULE = rm.${COMPONENT}
......@@ -43,7 +33,7 @@ FILES =\
${LDIR}.!Help \
${RDIR}.!Run \
${RDIR}.!RunImage \
${LDIR}.Messages \
${RDIR}.GenMessage \
${LDIR}.Templates
# Resources to be included in the ROM module (not in Messages module}
......@@ -64,7 +54,7 @@ install: ${FILES}
${CP} ${LDIR}.!Help ${INSTDIR}.${APP}.!Help ${CPFLAGS}
${CP} ${RDIR}.!Run ${INSTDIR}.${APP}.!Run ${CPFLAGS}
${CP} ${RDIR}.!RunImage ${INSTDIR}.${APP}.!RunImage ${CPFLAGS}
${CP} ${LDIR}.Messages ${INSTDIR}.${APP}.Messages ${CPFLAGS}
${CP} ${RDIR}.GenMessage ${INSTDIR}.${APP}.Messages ${CPFLAGS}
${CP} ${LDIR}.Templates ${INSTDIR}.${APP}.Templates ${CPFLAGS}
${CHMOD} -R 555 ${INSTDIR}.${APP}.*
@${ECHO} ${COMPONENT}: Application installed (Disc)
......@@ -73,19 +63,20 @@ install_rom: ${ROM_MODULE}
${CP} ${ROM_MODULE} ${INSTDIR}.${COMPONENT} ${CPFLAGS}
@${ECHO} ${COMPONENT}: Module installed (ROM)
resources: ${LDIR}.!RunLink
resources: ${LDIR}.!RunLink ${RDIR}.GenMessage
${MKDIR} ${RESAPP}
${MKDIR} ${RESDIR}
${CP} ${LDIR}.!Help ${RESAPP}.!Help ${CPFLAGS}
${CP} ${RDIR}.ROM.!Run ${RESAPP}.!Run ${CPFLAGS}
${CP} ${LDIR}.!RunLink ${RESDIR}.!RunLink ${CPFLAGS}
${CP} ${LDIR}.Messages ${RESDIR}.Messages ${CPFLAGS}
${CP} ${RDIR}.GenMessage ${RESDIR}.Messages ${CPFLAGS}
${CP} ${LDIR}.Templates ${RESDIR}.Templates ${CPFLAGS}
@${ECHO} ${COMPONENT}: resource files copied to Messages module
clean:
${RM} ${ROM_MODULE}
${RM} ${RDIR}.!RunImage
${RM} ${RDIR}.GenMessage
${RM} ${LDIR}.!RunLink
${XWIPE} crunched.* ${WFLAGS}
@${ECHO} ${COMPONENT}: cleaned
......@@ -98,18 +89,16 @@ ${ROM_MODULE}: VersionNum ${RESFILES}
${GETVERSION} Chars$BuildV Chars$FullV Chars$Date
${DO} ${MODGEN} -date "<Chars$Date>" ${ROM_MODULE} !Chars !Chars <Chars$BuildV> Resources.!RunImage Resources.Chars.!RunImage
${RDIR}.GenMessage: ${LDIR}.Messages
${INSERTVERSION} ${LDIR}.Messages > ${RDIR}.GenMessage
${RDIR}.!RunImage: crunched.!RunImage
${SQUISH} ${SQUISHFLAGS} -from crunched.!RunImage -to $@
crunched.!RunImage: bas.!RunImage
${RUN}crunch.!RunImage; BASIC
${RUN}BasCrunch -1 bas.!RunImage $@
${LDIR}.!RunLink: bas.!RunLink
${SQUISH} ${SQUISHFLAGS} -from bas.!RunLink -to $@
BBETYPE = chars
bbe-chars: bbe-generic
BBE_Export_Dir Resources
#---------------------------------------------------------------------------
# Dynamic dependencies:
%Set Chars$Dir <Obey$Dir>
%SetMacro Chars$Path <Chars$Dir>.
%WimpSlot -min 32k -max 32k
%WimpSlot -min 72k -max 72k
%Run Chars:!RunImage
......@@ -2,5 +2,5 @@ Set Chars$Dir <Obey$Dir>
Set Chars$Path <Obey$Dir>.,Resources:$.Resources.Chars.
WimpSlot -min 16k -max 16k
| RAM version: (in case this directory is copied onto disc)
Set Alias$WimpSlot2 WimpSlot -min 32k -max 32k
Set Alias$WimpSlot2 WimpSlot -min 72k -max 72k
Run Chars:!RunLink
The Chars application helps you to enter characters
that are not available on the keyboard; for example
accented characters or special symbols.
!Chars
======
To start Chars, double-click on its icon. A window
will appear showing all the characters currently
available.
Chars is a character finder application. It can
display all the defined characters in a font, as
well as allowing characters to be entered into
documents using the mouse pointer.
To enter a character, position the mouse pointer over
it and click SELECT (or press the SHIFT key). The
character will be entered at the caret position as if
it had been typed.
Contents
========
Use of the SHIFT key is suggested if you are trying to
enter text into a writeable icon inside a menu, as
clicking SELECT will cause the menu to disappear.
1. System requirements
2. Basic operation
3. Encodings
4. Key shortcuts
5. Choices
6. Technical details
If you wish to see the characters in a different font,
click MENU over the window.
1. System requirements
======================
Chars requires RISC OS 3.1 or later. It will make use of the Unicode Font Manager if present.
2. Basic operation
==================
To start Chars, double-click on its icon. A window will appear showing all the characters currently available in the selected font. By default, Chars will start with the System font. You can select different fonts and encodings by choosing from the pop-up menus at the top of the window.
Some fonts have thousands of characters. When using the UTF8 encoding, you can choose to show only a subset of those characters. The Category menu offers a selection of common subsets, such as the Latin script, Symbols, etc. Selecting 'All' will display all the characters in the font.
To enter a character into an editor application, position the mouse pointer over it in the Chars window and click [Select] or press the [Shift] key. The character will be entered at the caret position as if it had been typed. Use of the [Shift] key is suggested if you are trying to enter text into a writeable icon inside a menu, as clicking [Select] will cause the menu to disappear.
Note that the operation of character entry differs depending on the encoding in use by the Desktop (the 'Alphabet') and by Chars. If a character cannot be inserted in the current Alphabet (e.g., because the UTF8 codepoint is too high for an 8-bit Alphabet), then the character will be greyed-out in the Chars window.
Depending on the encoding in use, some characters can also be inserted at the caret by holding down [Alt] and typing [character code] on the numeric keypad. Chars will display this keypress combination where it is available, together with information on the character number and name, at the bottom of the window.
3. Encodings
============
Chars is capable of displaying fonts in various different encodings. Historically, encodings have been used to allow 8-bit fonts, which have a maximum of 255 characters, to display characters from a range of different alphabets. The UTF8 encoding allows thousands of characters to be used.
The Desktop also makes use of encodings (Alphabets), which control how fonts used by the Window Manager are displayed. You can find the current Alphabet by typing the command '*Alphabet' at a command prompt. A list of available encodings is given by the command '*Alphabets'.
Most fonts can be sensibly displayed in the full range of encodings given by *Alphabets. One exception is the System font, which doesn't use the Font Manager. Others are 'symbol' fonts, such as Sidney and Selwyn. Symbol fonts use an internal encoding, which can be selected by choosing 'Default' from the encoding menu (only available in non-UTF8 Alphabets).
If you change the Alphabet while Chars is running (e.g., by issuing a new *Country or *Alphabet command), you must re-select the font from the font menu to update the display.
4. Key shortcuts
================
Pressing [Shift] when the mouse pointer is over the character map results in the character code being entered at the caret.
5. Choices
==========
Open the Choices window by clicking 'Choices' from the iconbar menu.
Select 'Open window at start-up' to automatically open the characters window when you run the application. You can choose to set the default font to the System Font or the crrent Desktop Font.
To save your changes, click [Save] or press [Return]. The changes will take effect next time you start the application.
6. Technical details
====================
Clicking on a character (or pressing [Shift] while the mouse pointer is over it) results in the character code being sent from Chars to the editor window with the caret in it. If the font's encoding in Chars is UTF8 then the character code may be more than one byte long, in which case the code is broken up into a stream of bytes that are sent in order to the receiving application.
If the encoding selected in Chars and the encoding used by the editor to display its text are different, then the displayed character may differ from what the user intended. The only way to be sure that the character sent from Chars will be the one displayed in the editor is to ensure that the same font and encoding are used in both applications.
\ No newline at end of file
Tsk:Characters
Help:Click \s or press Shift to enter character code %0 (&%1) as if from the keyboard.|MClick MENU to change the displayed font.
#{DictTokens}
_TaskName:Characters
_Version:Filled at build time
SysFont:System Font
Unicode:Unicode
Encs:Encodings
Cats:Categories
Default:Default
UTF8:UTF8
UCode:U+%0 %1
UTrans: (Alt+
Char:Character &
Unknown:<Unknown>
# Desktop font options
DF1:System Font
DF2:Corpus.Bold
DF3:Corpus.Bold.Obique
DF4:Corpus.Medium
DF5:Corpus.Medium.Obique
DF6:Homerton.Bold
DF7:Homerton.Bold.Oblique
DF8:Homerton.Medium
DF9:Homerton.Medium.Oblique
DF10:Trinity.Bold
DF11:Trinity.Bold.Italic
DF12:Trinity.Medium
DF13:Trinity.Medium.Italic
DF14:WIMPSymbol
# Menu text
Chars:Chars
Quit:Quit
Info:Info
Help:Help...
Choices:Choices...
# Error messages
ErrApp:!Chars
Fatal1:There is not enough memory to run Chars. Free up more memory by closing other applications.
Fatal2:There is not enough memory to create the font list. Free up more memory by closing other applications.
Fatal3:There is not enough memory to create the font list. Restart Chars to try again.
FontErr1:Chars is unable to display the selected font.
FontErr2:There is not enough memory to display the selected font.
FontErr3:Chars cannot find the selected font in this encoding; reverting to the default encoding.
FontErr5:Cannot scan string in this font; reverting to System Font
FontErr6:Cannot paint this font; reverting to System Font
FontErr7:The installed version of the Font Manager cannot display fonts with more than 255 entries in the internal encoding file; reverting to System Font.
#{HelpTokens}
CHelp:Click \s or press Shift to enter %0.
MH:\Sdisplay the characters in this font.
MenuSpc:There is not enough memory to display menu. Quit any unwanted applications or see the RISC OS User Guide for ways to maximise memory.
FontErr:Chars is unable to display the currently selected outline font.
Font:System Font
IHelp:\TChars application.|M\Sopen the Character Map \w.
CW0:This field shows the currently displayed font.
CW1:\Sopen the font menu.
CW2:This field shows the current encoding.
CW3:\Sopen the encodings menu.
CW4:This field shows the current character category.
CW5:\Sopen the categories menu.
CH2:Select this option to remember the character \w's current position, which will be used next time the application is run.
CH3:Select this option to open the character \w when Chars is run.
CH4:\Sclose the Choices \w without saving changes.
CH5:\Sclose the Choices \w and save changes.
#{Default}
# Categories UCS code ranges
# Max value &FFFFFF
# No control chars (&0-&20, &7F-9F)
# Max 12 ranges per category
CM0:13
CM1:Latin
CM2:Greek
CM3:Cyrillic
CM4:Hebrew
CM5:Arabic
CM6:Japanese
CM7:Chinese
CM8:Korean*
CM9:Symbols
CM10:Maths
CM11:Punctuation
CM12:Currency*
CM13:All
# Latin
CM1-0:3
CM1-1:20-7E
CM1-2:A1-24F
CM1-3:1E00-1EFF
# Greek
CM2-0:2
CM2-1:370-3FF
CM2-2:1F00-1FFF
# Cyrillic
CM3-0:2
CM3-1:400-52F
CM3-2:2DE0-2DFF
# Hebrew
CM4-0:1
CM4-1:590-5FF
# Arabic
CM5-0:3
CM5-1:600-6FF
CM5-2:750-77F
CM5-3:8A0-8FF
# Japanese
CM6-0:9
# the kana
CM6-1:3040-30FF
# ideographic punctuation (horizontal)
CM6-2:3000-3019
# wavy line
CM6-3:301C-301C
# ideographic punctuation (vertical)
CM6-4:FE30-FE44
# ideographic annotation marks
CM6-5:3190-319F
# parenthesised ideographs
CM6-6:3220-3243
# circled numbers / ideographs
CM6-7:3280-32B0
# circled katakana
CM6-8:32D0-32FE
# halfwidth katakana
#CM6-9:FF61-FF9F
# kanji, all billion of them
CM6-9:4E00-9FA5
# Chinese
CM7-0:5
CM7-1:3400-A4CF
CM7-2:F900-FAFF
CM7-3:20000-2A6DF
CM7-4:2A700-2A73F
CM7-5:2F800-2FA1F
# Korean
CM8-0:1
CM8-1:AC00-D7A3
# Symbol
CM9-0:6
CM9-1:2100-214F
CM9-2:2190-21FF
CM9-3:2500-27BF
CM9-4:27F0-27FF
CM9-5:2900-297F
CM9-6:2B00-2BFF
# Maths
CM10-0:3
CM10-1:2200-22FF
CM10-2:26C0-27EF
CM10-3:2980-2AFF
# Punctuation
CM11-0:6
CM11-1:20-22
CM11-2:26-29
CM11-3:2C-2F
CM11-4:5B-5D
CM11-5:7B-7D
CM11-6:2010-205E
# Currency
CM12-0:2
CM12-1:A2-A5
CM12-2:20A0-20BD
# All
CM13-0:2
CM13-1:20-7E
CM13-2:A1-FFFFFF
No preview for this file type
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "1.25"
Module_Version SETA 125
Module_MajorVersion SETS "2.00"
Module_Version SETA 200
Module_MinorVersion SETS ""
Module_Date SETS "27 Jan 2015"
Module_ApplicationDate SETS "27-Jan-15"
Module_Date SETS "09 Jul 2016"
Module_ApplicationDate SETS "09-Jul-16"
Module_ComponentName SETS "Chars"
Module_ComponentPath SETS "castle/RiscOS/Sources/Apps/Chars"
Module_FullVersion SETS "1.25"
Module_HelpVersion SETS "1.25 (27 Jan 2015)"
Module_FullVersion SETS "2.00"
Module_HelpVersion SETS "2.00 (09 Jul 2016)"
END
/* (1.25)
/* (2.00)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 1.25
#define Module_MajorVersion_CMHG 2.00
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 27 Jan 2015
#define Module_Date_CMHG 09 Jul 2016
#define Module_MajorVersion "1.25"
#define Module_Version 125
#define Module_MajorVersion "2.00"
#define Module_Version 200
#define Module_MinorVersion ""
#define Module_Date "27 Jan 2015"
#define Module_Date "09 Jul 2016"
#define Module_ApplicationDate "27-Jan-15"
#define Module_ApplicationDate "09-Jul-16"
#define Module_ComponentName "Chars"
#define Module_ComponentPath "castle/RiscOS/Sources/Apps/Chars"
#define Module_FullVersion "1.25"
#define Module_HelpVersion "1.25 (27 Jan 2015)"
#define Module_LibraryVersionInfo "1:25"
#define Module_FullVersion "2.00"
#define Module_HelpVersion "2.00 (09 Jul 2016)"
#define Module_LibraryVersionInfo "2:0"
This diff is collapsed.
TEXTLOAD "bas.!RunImage"
CRUNCH -1
SAVE "crunched.!RunImage"
QUIT
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment