
|
Kanji/JE/JIS (2) Genic Clubguide, 00-00-00
VERVOLG:
M S X - J E, J I S E N K A N J I B A S I C
====================================================
(Deze tekst was te lang voor de layout van ClubGuide
Special. Vandaar dat we hem over twee teksten hebben
verdeeld. We pakken de draad nu weer op waar het vorige deel
stopte.)
TEKST OP GRAFISCHE SCHERMEN
Zoals gezegd kan de KANJI BASIC gebruikt worden om op SCREEN
5 en hoger teksten te plaatsen zonder OPEN en PRINT#
instrukties. Dit kan gewoon door LOCATE en PRINT te
gebruiken. Er kan dan echter niet met logische operaties of
halve letters worden gewerkt, bovendien is de positie niet
zo precies te bepalen; LOCATE is nogal grof. Om dat allemaal
wel te kunnen gebruiken we het PUT KANJI commando.
Op SCREEN 11 en 12 zul je merken dat het teken 'uitloopt'.
Dit komt omdat de J- en K-waarden van de omliggende pixels
worden verminkt. Men kan dit probleem omzeilen door te
zorgen dat alleen de Y-waarde van de letters anders is dan
die van de achtergrond, de J- en K-waarden moeten dus
hetzelfde blijven. Bijvoorbeeld COLOR &B11111000,&B00001000.
JIS1 & JIS2
In de bovenstaande tekst heb ik het al vaak over JIS ROMs
gehad. Deze zitten boordevol met 16x16 karakters. Alle
tekens die je je maar kunt bedenken komen er in voor.
Europese letters, Griekse letters, Russische letters en ALLE
Japanse en Chinese tekens. En dat zijn er heel erg veel.
Bovendien zitten er nog een aantal handige symbolen in,
zoals een telefoontje en eenheden (mm, cm, m2, cm3, Hz, dl).
Verder nog kleine tekeningetjes. Bijvoorbeeld een konijntje,
een zeepaardje, een vlinder, een parapluutje, een
voetafdruk, pijltjes, een straaljager, een zeilboot,
gezichtjes, bananen. Zoals ik zei: alles wat je je maar kunt
bedenken!
Deze tekens moeten worden opgeroepen met een nummer. Dit is
een hexadecimaal getal van vier cijfers, minimaal &H2121. Ik
heb tabellen gemaakt van de tekens die wij Europeanen zullen
gebruiken, en die op deze diskette gezet. Het zijn
gecrunchte SCREEN 5 plaatjes. Je kunt ze bekijken met het
programma SHOW-JIS.ART, dat in het softwaremenu is te
vinden. (NB: dit programma draait ook op een gewone MSX2
(het zijn per slot van rekening gewoon SCREEN 5 plaatjes,
zodat de MSX2 gebruikers kunnen zien wat ze allemaal
missen!) Je kunt deze tekens oproepen met de hierboven
besproken KANJI BASIC commando's, of door middel van de
MSX-JE, die ik nu zal bespreken.
MSX-JE
Bij de KANJI BASIC wordt de MSX-JE ROM ook al veelvuldig
gebruikt, maar er is nog een toepassing van de MSX-JE die
niet met commando's werkt. Deze zogenaamde JE-balk is alleen
in de direct mode op te roepen, als je je in een KANJI mode
bevindt.
De besturing van deze balk kan per computer enigszins
verschillen, ik ga hier uit van de situatie zoals die bij
mijn computer is (een Panasonic FS-A1ST MSX turbo R).
DE JE-BALK
Je kunt de balk oproepen door op [CTRL]+[SPATIE] of [GRAPH]+
[SELECT] te drukken. Op de plaats van de F-key teksten
verschijnt nu een witte balk. Als je nu gaat typen, dan
wordt alles wat je typt (indien mogelijk) automatisch in
Hiraganaschrift vertaald. Het Hiragana is een Japans
fonetisch schrift, elk teken stelt een lettergreep voor.
Er zijn geen tekens voor losse medeklinkers, met
uitzondering van de N. Je krijgt dat teken door twee maal op
de [N] te drukken. Voor de klinkers zijn wel aparte tekens.
Wil je toch een losse medeklinker, dan moet je er een u
(soms een o) achter zetten. Mijn naam wordt bijvoorbeeld:
sutefann
De computer maakt daar 5 Japanse Hiragana tekens van.
Drukken we nu op [F2], dan wordt het omgezet in Katakana,
het andere Japanse lettergrepenschrift. Dit werkt verder
hetzelfde, alleen de tekens zijn anders. Drukken we op [F3],
dan komt de smalle (8x16 in plaats van 16x16) versie in Kana
tevoorschijn. Met [ESC] gaan we weer terug naar het
oorspronkelijke Hiragana. Je kunt deze tekst op het scherm
zetten door op [F5] of [RETURN] te drukken.
Typ maar eens konami in en druk dan op [F2]. Iemand die wel
eens een Japans blad heeft gelezen ziet nu drie heel bekende
tekentjes!
De eerste mogelijkheid van de MSX-JE-balk is dus het
omzetten van fonetisch-europees schrift naar
fonetisch-Japans schrift. Maar dat is niet alles, de MSX-JE
is niet voor niets 512 kB!
Drukken we op [F1], dan kunnen we gewoon tekens invoeren,
alleen dan verschijnen ze in 16x16. Ook deze tekens kunnen
naar het scherm gestuurd worden met [F5] of [RETURN]. Dit is
dus de manier waarop je van 'gewone' tekens (die met het
toetsenbord zijn in te voeren) de KANJI-equivalent kunt
krijgen. Op deze manier moeten de 16x16 tekens in de
voorbeelden bij de KANJI BASIC commando's worden ingevoerd.
Het is ook mogelijk om een willekeurig teken uit de JIS ROMs
op te roepen met de JE-balk. Typ eerst het nummer in (4
cijfers hexadecimaal). Let op: als er een A, B, C, D, E of
F in voorkomt is het nodig om eerst op [F1] te drukken! Is
het nummer ingevoerd, druk dan op [F4] en het karakter
verschijnt. Probeer 783A maar eens, dan krijg je een
konijntje! Met behulp van de tabellen die op deze ClubGuide
Special staan kun je het nummer van een bepaald karakter
opzoeken, met SHOW-JIS.ART kun je de tabellen bekijken. Dit
zijn bij lange na niet alle tekens, het zijn er veel en veel
meer! De andere tekens zijn echter bijna allemaal Japans of
Chinees, en daarom niet interessant voor ons.
Staan er Japanse Hiragana of Katakana tekens en je drukt op
de cursortoetsen boven of onder of de spatiebalk, dan
verschijnen er allerlei ingewikkelde Japanse Kanji tekens.
Een Japanner begrijpt dit vast wel, maar dit gaat boven mijn
pet. Iemand die geen Japans kent, heeft daar natuurlijk ook
niets aan.
Met [SHIFT] samen met cursortoets links of rechts ga je naar
het begin of het einde van de tekst in de invoerbalk, en met
[SHIFT] samen met de spatiebalk kun je een spatie typen in
die invoerbalk. Druk je de spatiebalk in zonder [SHIFT], dan
verschuift de normale cursor.
EEN VOORBEELD
Ik heb een klein voorbeeldje gemaakt waarin veel van de
hierboven behandelde theorie wordt toegepast. Deze routine
zet een tekst (die in gewone karakters is gegeven) in grote
(16x16 Kanji) karakters op het scherm. De afstand tussen de
letters bedraagt 15 pixels en elke letter heeft een
'schaduw'. De tekst wordt midden op het scherm geplaatst.
Eerst het hele programma:
100 SCREEN7
110 COLOR,0,0:CLS
120 _KANJI
130 S$="GENIC's ClubGuide Special"
140 Y=100:X=256-7.5*LEN(S$)
150 _AKCNV(T$,S$)
160 _KLEN(L,T$)
170 FORI=1TOL
180 _KMID(K$,T$,I)
190 _JIS(N$,K$)
200 N=VAL("&H"+N$)
210 PUTKANJI(1+X+(I-1)*15,1+Y),N,5
220 PUTKANJI(X+(I-1)*15,Y),N,15,TPSET
230 NEXT
240 GOTO240
Regel 100 en 110 spreken voor zich. In regel 120 wordt de
Kanji mode aangezet. Omdat we in SCREEN 7 zitten passen er
64 normale of 32 extra grote (Kanji) tekens op het scherm.
In regel 130 wordt de tekst bepaald, die dus maximaal 32
tekens lang mag zijn. Regel 140 bepaalt de coordinaten. De
y-coordinaat is 100, de x-coordinaat wordt zo berekend dat
de tekst precies in het midden van het scherm komt te staan.
140 Y=100:X=256-7.5*LEN(S$)
SCREEN 7 is 512 pixels breed, 256 is dus precies op de
helft. De letterafstand is 15, als we dus de helft van 15
maal de lengte van de string van 256 aftrekken, komt de
string precies in het midden van het scherm.
150 _AKCNV(T$,S$)
Regel 150 zet de string om van normale tekens naar Kanji
tekens. T$ bevat nu de string in Kanji tekens.
160 _KLEN(L,T$)
Met regel 160 bepalen we de lengte van de string. Die komt
in L te staan.
170 FORI=1TOL
180 _KMID(K$,T$,I)
190 _JIS(N$,K$)
De variabele I loopt de letters ‚‚n voor ‚‚n af. Met de
_KMID instruktie in regel 180 wordt het Ide teken uit de
string genomen en in K$ gezet. In regel 190 wordt het JIS
nummer daarvan opgevraagd. Dit hexadecimale nummer staat in
N$.
200 N=VAL("&H"+N$)
We bereken de waarde van die hexadecimale string door er
eerst &H voor te zetten en daarna de waarde op te vragen met
VAL.
210 PUTKANJI(1+X+(I-1)*15,1+Y),N,5
220 PUTKANJI(X+(I-1)*15,Y),N,15,TPSET
230 NEXT
240 GOTO240
Regel 210 zet het teken in het blauw op een positie 1 naar
rechts en 1 naar onder ten opzichte van de witte letters.
De letter staan 15 pixels uitelkaar, maar de eerste letter
moet als X-coordinaat X+0 krijgen, dus we trekken 1 af van
I. Het wordt dus (I-1)*15. In regel 220 wordt de witte
letter geplaatst. De logische bewerking TPSET zorgt ervoor
dat de blauwe letter niet wordt uitgewist. Regel 230 zorgt
ervoor dat alle letters worden afgewerkt, en regel 240 wacht
totdat de gebruiker [CTRL]+[STOP] heeft ingedrukt.
Dit programmaatje staat ook op de disk, onder de naam
KANJI.ART. Het is te vinden in het softwaremenu (dat je
kunt bereiken door op [F4] te drukken).
INGEBOUWDE TEKSTVERWERKER MSX TURBO R
Je kunt de karakters uit de JIS1 & JIS2 ROMs ook gebruiken
in de ingebouwde tekstverwerker van de turbo R (eerste keuze
in het menu dat je krijgt als je de turbo R opstart met de
HIRO/BASIC toets in de linker stand). Kies eerst voor menu 1
(dit kan door op [CTRL] te drukken of met de muis, midden
onderaan het scherm staat een 'breuk' die aangeeft in welk
menu je zit). Druk daarna op [F5]. Je krijgt dan een menu
met tien keuzes. Achter elke keuze zit een groep karakters.
De vierde van boven aan de linkerkant is het leukst: hier
zitten de konijntjes, gezichtjes, etc. achter. Ook kun je
hier de Griekse en Russische tekens vinden en tekens met
acccenten. Voor de Japanners is het kiezen van een Japans
teken erg makkelijk gemaakt. Met de derde optie van boven
aan de rechterkant krijg je een scherm vol met Japanse
tekens, je zou dat de 'basistekens' kunnen noemen. Je kunt
er daar ‚‚n van uitkiezen. Daarna keer je weer naar het
gewone scherm terug. Onderin bevindt zich nu echter een
balk, waarin alle tekens staan die van het basisteken zijn
afgeleid. Het in de tekst plaatsen van een teken is simpel:
gewoon er naartoe sturen en op de 'Ja'-deadkey drukken.
Wist je dat er ook een zwart/wit tekenprogramma bijzit om
tekeningetjes tussen de tekst te plaatsen? Of dat je zinnen,
letters of woorden in een andere kleur kan zetten? Of dat
allerlei bewerkingen zoals italics, 90 graden gedraaid,
bold, underlined, outline, etc. ook mogelijk zijn en op het
scherm worden weergegeven? De MSX-JE wordt in de ingebouwde
tekstverwerker ook gebruikt, het 'vertalen' in fonetisch
schrift gebeurt automatisch. Ook is er een Europese (!!)
mode. Maar daarover misschien een andere keer meer.
Stefan Boer
|