SE446705B - Sett och anordning att koda tecken i relation till en normaliserad kodningssats av forsta och andra koordinater - Google Patents
Sett och anordning att koda tecken i relation till en normaliserad kodningssats av forsta och andra koordinaterInfo
- Publication number
- SE446705B SE446705B SE7904009A SE7904009A SE446705B SE 446705 B SE446705 B SE 446705B SE 7904009 A SE7904009 A SE 7904009A SE 7904009 A SE7904009 A SE 7904009A SE 446705 B SE446705 B SE 446705B
- Authority
- SE
- Sweden
- Prior art keywords
- character
- vector
- contour
- digital
- data
- Prior art date
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41B—MACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
- B41B19/00—Photoelectronic composing machines
- B41B19/01—Photoelectronic composing machines having electron-beam tubes producing an image of at least one character which is photographed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41B—MACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
- B41B27/00—Control, indicating, or safety devices or systems for composing machines of various kinds or types
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Dot-Matrix Printers And Others (AREA)
- Laser Beam Printer (AREA)
- Digital Computer Display Output (AREA)
Description
10
15
20
25
30
35
RO
446 705, 2
maskiner är ej endast billigare än sina första generationens
föregångare, utan förbättringar avseende maskinerna ledde till högre
hastigheter, bättre kvalitet och större typografisk flexibilitet.
Fototyp-sättmaskinerna upplever för närvarande en period av maximal
utnyttjning inom den grafiska industrin, men de förbättras genom
införandet av den tredje generationens maskiner, nämligen de sätt-
maskiner som är baserade på katodstrålerör och laser.
I de på katodstrålerör baserade sättmaskinerna, i fortsätt-
ningen även kallade CRT-sättmaskiner, alstras tecken elektroniskt
och skrivs på fotografisk film, varigenom man eliminerar det mesta
av de mekaniska rörelser som är känneteoknande för andra generatio-
nens fotosättmaskiner.' Denna ändring från mekanik till elektronik
resulterar i ännu högre hastighet och större typografisk flexibili-
tet liksom även färre inställningar och färre ändringar i lagrade
typslag, som erfordras vid alla sättmaskiner av den andra generatio-
nen. CRT-sättmaskinerna är i regel dyrare än sina motsvarigheter i
den andra generationens sättmaskiner, och ehuru de har blivit de
dominerande maskinerna på tidningsmarknaden har de ännu ej mer än
börjat vinna insteg på andra områden än tidningsområdet. Det
förutses emellertid att priserna på CRT-sättmaskiner kommer att
reduceras allteftersom volymen ökar och nya maskiner utvecklas för
att dra fördel av framstegen inom tekniken för elektroniska kretsar.
Det förekommer allmänt sett två metoder medelst vilka typslag
lagras i den tredje generationens sättmaskiner. De s. k. "analoga"
maskinerna lagrar typmallar på fotografiska filmgaller. Dessa
mallar avsökes med en ljusfläckavsökare ("flying spot"-scanner)
samtidigt som tecknet avbildas i lämplig storlek på det som utgångs-
organ tjänstgörande katodstråleröret..En andra klass sättmaskiner,
de s.k. "digitala" maskinerna, är baserade på stilmallar som har
kodats i digital form och lagrats på något slag av digitalt lag-
ringsmedium i maskinen. Med dylika digitala maskiner är möjligheten
att lagra en stort typslag-bibliotek i sättmaskinen begränsad endast
av kostnadep_för att tillhandahålla ett lagringsmedium av lämplig
storlek, varför det normalt ej är nödvändigt för användaren att
upprepade gånger "bestycka" maskinen genom insättning av nya typ-
slag. Härtill kommer att de digitala maskinerna är åtminstone
dubbelt så snabba som de snabbaste analoga maskinerna (med fotogra-
fiskt minne) och är i stånd att åstadkomma skarpare, mera likformiga
tecken än de analoga maskinerna.
Ursprungligen, när digitala CRT-sättmaskiner först introduce-
_, .__...._.-..__...
10
15
20
25
30
35
H0
'7.000 rasterelement.
3 É 446 705
rades, gällde det i fråga om framställning av digitala typslag-mal
lar i första hand data-reduktion. För att reproducera tecken för
vilka man ej kunde se någon skillnad i förhållande till tecken som
avbildats medelst fotografiska mallar eller tryckts med konventio-
nella handsatta typer är det nödvändigt att koda varje tecken med
ett relativt fint rutnät eller raster, d.v.s. en matris med hög
upplösning eller rasterelement-täthet. Såsom ett minimum och för
små tecken kan rutnätet innefatta 70 kolumner och 100 rader eller
Om närvaro eller frånvaro av en del av ett
tecken i varje rasterelement representeras av en bit, erfordras
7.000 informationsbitar för att representera samtliga element i
rutnätet eller matrisen. I amerikanska patentskriften 3 305 841
(Schwartz) beskrivs en CRT-sättmaskin i vilken det erforderliga
antalet bitar för att representera ett tecken är reducerat med en
faktor som är minst lika med 3 och som i medeltal uppgår till 5
eller däröver. Denna datareducering åstadkommas genom att man med
en digital kod identifierar startpunkten och slutpunkten av linjese-
gment (svarta partier) i ett tecken i varje rad eller kolumn i
rutnät-mönstret. I ett rutnät som innehåller 7.000 rasterelement
reduceras sålunda de data som erfordras för att definiera ett tecken
från 7.000 bitar till ungefär 1.500.
I amerikanska patentskriften 3 N71 848 (Manber) beskrives en
förbättring i det ovannämnda systemet vilken tillåter ytterligare
reducering av erforderliga data. I detta system är start- och
slutpunkterna för ett linjesegment inom en rad eller kolumn i
rutnätet kodade som ökningssteg eller minskningssteg i förhållande
till startpunkten respektive slutpunkten på ett linjesegment i den
föregående raden eller kolumnen. Datakompression uppnås eftersom de
tal som erfordras för att definiera ändringssteg-adresserna för att
linjesegment är mindre än de tal som erfordras för att definiera de
absoluta adresserna.
Även i amerikanska patentskrifterna 3 305 841 och 3 H71 848
beskrivs ett antal ytterligare tillvägagångssätt för datakompression
vid digitalt kodade tecken: '
(1) Anordnandet av en kod som anger antalet blanka rader eller
kolumner på den ena eller den andra sidan (eller på båda sidorna) av
tecknet.
(2) Anordnandet av en "linjerepetitionskod" som anger att
linjesegmentet eller -segmenten i en rad eller en kolumn är i samma
läge(n) som i den föregående raden eller kolumnen.
10
15
20
25
30
35
H0
\
'angivna nackdelarna.
446 705
H
(3) Anordnandet av en kod som anger att en vald línjestartkod-
adress eller linjeslutkodadress skall upprepas ett förskrivet antal
gånger.
Trots de olika tillvägagångssätten för dataredueering är
digitala stiltypmallar som åstadkommits i enlighet med vad som
beskrives i amerikanska patentskrifterna 3 305 841 och 3 371 848
avsevärt mera kostnadskrävande änd de fotografiska mallar som
används vid analoga CRT-sättmaskiner. Det finns två grundläggande
skal för aeuua= ' a D
(1) De digitala maskinerna åstadkommer olika stilstorlekar
genom att variera avståndet mellan svepen i utgångsröret. Det finns
praktiska gränser för hur långt upp och ned en bilds storlek kan
varieras på detta sätt. Dessa maskiner har därför krävt ett flertal
olika typmallar för att täcka ett fullständigt stilstorleksområde.
(2) Digitalisering av stiltyper är en långsam, tidskrävande
process. Stilmallar förbereds först på ett standardrutnät och
avsökes därefter automatiskt i och för bestämning av vilka raster-
punkter i rutnätet som faller inom tecknet ifråga. Den som resultat
erhållna punktmatrisen "digitaliseras" sedan i enlighet med en
speciell kod och lagras i en maskinläsbar form.
I amerikanska patentskriften U 029 9H7 (Evans m.fl.) beskrives
en teckenkodnings- och -avkodningsschablon för en CRT-sättmaskin
vilken gör det möjligt att eliminera den förstnämnda av de ovan
Detta åstadkommas genom_att man kodar den
normaliserade teekenkonturen (till skillnad från storleksrelaterade
rad- eller kolumnlinjesegment av tecknet) med en serie av på
Ivarandra följande lutningar ooh krökningar från en eller flera
ursprungliga startpunkter för tecknet. För detta ändamål har
kodaren ett stort antal lutningar och krökningar tillgängliga att
välja bland, varvid var och en av dessa lutningar och krökningar är
identifierad med sitt individuella binärkodnummer.
Ett annat teckenrepresentationssystem som behandlar tecken
-såsom bestående av normaliserade teckenkonturer har använts den av
.SEACO-Computer Display i Garland, Texas, U.S.A. under handelsbenäm~
ningen Model 1601 tillverkade CRT-sättmaskinen. Denna maskin, som
__är beskriven i publikationen Seybold Report, vol. 1, n:ris 12 och 13
(1ü och 28 februari 1972), lagrar de absoluta koordinaterna för ett
antal punkter på tecknets kontur. ~Datareducering kunde åstadkommas
eftersom mellanliggande punkter på konturen mellan lagrade punkter
antogs följa räta linjer mellan de lagrade punkterna.
Mk.
10
15
20
25
30
35
40
g44e 705
SEACO's CRT-sättmaskin Model 1601 och den i amerikanska patent-
skriften H 029 9H7 beskrivna sättmaskinen bestämmer för avbildningen
av tecknet inom ett område av punktstorlekar erforderliga data ur en
enda uppsättning kodade teckenkonturdata medelst en beräkningsopera-
tion som utföres antingen maskinvarumässigt eller programvaru-
mässigt. I motsats härtill genomför'de CRT-sättmaskiner som beskri-
ves i amerikanska patentskrifterna 3 3D5 BN1 och 3 H71 BÄ8 ett
minimum av beräkningar, eftersom den information som erfordras för
att "rita" konsekutiva linjesegment (d.v.s. startadressen och I
slutadressen för varje linjesegment), finns i de ifrågavarande data.
Ehuru sålunda ett flertal system för digital kodning av tecken
har beskrivits inom det tekniska området för CRT-sättmaskiner, har
hittills inget system framkommit vilket på ett optimalt sätt uppfyl-
ler alla föreliggande krav. Dessa krav är:
(1) Kodningssystemet bör ekonomisera med utrymmet i det digi-
tala minnet. _
(2) En enda uppsättning data som definierar ett tecken bör vara
användbart för att alstra teckenbilder i alla punktstorlekar.
(3) De kodade data bör kunna omvandlas till den form som
erfordras för styrning av katodstrâleröret (CRT) med en relativt
enkel beräkningsoperation som är lätt att automatisera.
(H) Teckenkodningssystemet bör vara definierat av regler som
lätt kan automatiseras, så att de kodade data kan alstras från
fotomallar, rå-punktmatriser eller någon annan kod medelst en
digital kalkylator.
Föreliggande uppfinning åstadkommer ett digitalt kodningssystem
för tecken eller symboler samt ett därtill hörande stiltyplagrings-
system vilket uppfyller samtliga ovan uppräknade krav.
Enligt uppfinningen definieras tecken genom att man koder deras
konturer i ett normalt rutnät av första och andra koordinater enligt
föijande= '
(1) En startpunkt i ett tecken väljas och den första och den
andra koordinatens värden för denna punkt lagras.
(2) En eller flera rätlinje-vektorer väljes, vilka sträcker sig
i serie efter varandra längs tecknets kontur från startpunkten och
vilka med god approximation följer konturen. Varje vektor represen-
teras sedan av ett första digitalt tal som definierar den första
koordinatens avstånd och ett andra digitalt tal som definierar den
andra koordinatens avstånd från vektorns ena ände till den andra.
Systemet med vektorkodning av konturen enligt uppfinningen
10
15
20
25
30
35
NO
I
446 705 6
uppfyller de fyra krav som ovan specificerats. Kodningssystemet
ifråga är framförallt sparsamt med utrymme och minne. Enligt ett
föredraget särdrag hos uppfinningen har nämnda första och andra
digitala tal vilka definierar varje vektor en begränsad storlek.
Vid en måttlig upplösning, exempelvis H32 enheter i "em"-kvadraten,
kan de utgöras av 4-bits-tal, så att en vektor exempelvis represen-
teras av en byte (åtta databitar). En analys har visat att den helt
dominerande delen av vektorer som erfordras för att definiera ett
tecken ligger inom 15 enheter i den första och den andra koordina-
tens riktningar på "rutnätet“. Vektorkodningssystemet innefattar
dessutom ökningssteg-avstånd i såväl den första som den andra
koordinatens riktning från den närmast föregående vektorns spets.
Dessa ökningssteg-avstånd kan definieras med mindre information än
vektorspetsens absoluta koordinater. Dessutom presenteras start-
punkten och vektorns data i en föreskriven ordningsföljd vilken i
sig själv förknippar ifrågavarande data med specifika teckenkontu~
rer; Som resultat av dessa tre faktorer är kodningssystemet enligt
uppfinningen fördelaktigt i jämförelse med samtliga tidigare före-
slagna system för digitalisering av tecken i vad avser den mängd
data som erfordras för att definiera ett tecken och i komplexiteten
och hastigheten för de maskinvaruanordningar som erfordras för att
behandla dessa data. g
Vidare krävs endast en uppsättning teckenkodningsdata enligt
uppfinningen för att alstra typbilder av alla storlekar. Det är
endast nödvändigt att beräkna skärningspunkterna mellan varje
horisontellt eller vertikalt svep och teokenkonturerna för att
bestämma när katodstràlerörets stråle eller laserstrålen skall "slås
till" eller "slås ifrån" . De rätlinjevektorer som definieras av de
kodade data gör det möjligt att utföra denna beräkning med ett
minimum av uppbåd i form av maskinvara (eller programvara) och med
hög hastighet. _
Slutligen kan teckenkodningsdata enligt uppfinningen automa-
tiskt härledas ur rå-punkt-matrisinformation eller från någon annan
digitaliserad kod på relativt enkelt sätt med användning av en
programmerad digital kalkylator. I enlighet med en föredragen
kodningsmetod enligt uppfinningen väljer man första rätlinje-vekto-
rerna genom att först bestämma konsekutiva koordinatpunkter på varje
_ kontur för vilken konturen avviker mindre än ett föreskrivet avstånd
från en mellan punkterna ifråga dragen rät linje. Så snart kontur-
punkterna har bestämts, subtraheras det första och det andra koordi-_
10
15
20
25
30
35
NO
446 705
natvärdet för var och en av de efter varandra följande punkterna
från det första och andra koordinatvärdet för den föregående punkten
cför bestämning av koordinat-ökningsstegen från punkt till-punkt.
Dessa ökningssteg lagras sedan såsom U-bits första och andra digi-
tala tal som definierar varje vektor.
Sammanfattningsvis uppvisar stiltyplagringssystemet enligt
uppfinningen en kombination av särdrag som gör det på ett unikt sätt
lämpat för att definiera stiltyper i digital form. Ytterligare
särdrag och fördelar för systemet enligt uppfinningen kommer att
framgå av följande detaljerade beskrivning i anslutning till på
bifogade ritning med fig. 1 - 32 visade utföringsexempel. Fig. 1
visar ett normaliserat X-Y-rutnät pà vilket konturen av versalen Q
är överlagrad. De koordinatskärningspunkter som befinner sig
närmast konturen är likaledes inritade. Pig. 2 är ett normaliserat
X-Y-rutnät liknande det i fig. 1 visade varvid vissa skärningspunk~
ter som representerar teckenkonturen har utelämnats. Fig. 3 är ett
normaliserat X-Y-rutnät liknande de i fig. 1 och 2, i vilket ytter-
ligare skärningspunkter har utelämnats och rätlinje-vektorer har
insatta mellan de återstående punkterna i enlighet med uppfin-
ningen. Fig. Ä är en provmatris som används för automatiskt val av
vektorer i enlighet med uppfinningen för att representera en tecken-
kontur. Fig.'5 är ett flödesschema som visar de steg som tas vid
det automatiska valet av vektor för att representera en teckenkon-
tur. Fig. 6A-E visar ett föredraget format för digitala data för
teckenkodningssystemet enligt uppfinningen. Fig. 7 visar ett
normaliserat X-Y-rutnät med konturerna för ett representativt
"tecken" vilket är definierat genom startpunkter och vektorer som
följer det till vänster i fig. 3 visade arrangemanget. Fig. 8 visar
den faktiska kodningen för det i fig. 7 visade tecknet med använd-
ning av det i fig. 6 visade dataformatet. Fig. 9A - 9D visar ett
annat föredraget format för digitala data för teckenkodningssystemet
enligt uppfinningen. Fig. 10 visar ett representativt tecken som är
överlagrat på ett normaliserat X-Y-rutnät med tecknets konturer
definierade genom startpunkter och vektorer som följer arrangemanget
i högra delen av fig. 3. Fig. 11 visar den faktiska kodningen för
det i fig. 10 visade tecknet med användnig av det i fig. 9 visade
dataformatet. Fig. 12 är en planvy av en hård sektorindelning
uppvisande flexskiva med sektorer och spår inritade. Fig. 13 är ett
diagram som visar hur stiltyp och teokendata är arrangerade (regist-
rerade) på en flexskiva. Fig. 14 är ett diagram som i detalj visar J
10
15
20
25
30
35
U0
3446 705 8
teckensöknings- och breddregistret i fig. 13. Fig. 15 visar versa-
len Q alstrad av vertikala "svep" på ett katodstrålerörs skärm gig
låg visar ett typiskt tecken som har sin kontur begränsad av rät-
linje-vektorer som skär vertikala avsökningslinjer. Fig. 16B visar
hur tecknet i fig. 16A avbildas med en speciell teckenbredd medelst
de vertikala avsökningslinjerna._ Fig. 17A visar ett typiskt tecken
som har sin kontur begränsad av rätlinje-vektorer vilka skär verti-
kala avsökningslinjer. Fig. 17B visar hur tecknet i fig. 17A
avbildas med en speciell teckenbredd medelst de vertikala avsök-
ningslinjerna. Fig. 18 visar hur streck-ändpunkter (skärningsvär-
den) bestämmes genom interpolation ur kodade teckendata. Fig. 19
visar hur streck-ändpunkter (skärningspunktvärden) bestämmas genom
medelvärdesbildning ur kodade teckendata. Fig. 20 är en perspektiv-
bild av en CRT-sättmaskin med en del komponenter visade i punkt-
streckade linjer. Fig. 21 är ett blockschema över komponenterna i
den i fig. 20 visade sättmaskinen. Fig. 22A och 228 är blockschema
resp. signaldiagram som visar uppbyggnaden av och arbetssättet för
det i fig. 21 visade teokengeneratorelementet. Fig. 23 visar
kodomvandlarelementet i fig. 21 med sina olika ingångar och ut-
gångar. Fig. 2ü är ett blockschema över komponenterna i den i fig.
21 och fig. 23 visade kodomvandlaren. Fig. 25 är ett blocksohema
över huvudstyrorganet i den i fig. 2U visade kodomvandlaren Fig. 26
år ett geometriskt diagram som visar den av kodomvandlaren genom-
förda vektorberäkningsprocessen. Fig. 27 är ett flödesschema som
visar arbetssättet för kodomvandlarens skal-element. Fig. 28 är ett
geometriskt diagram som visar den av kodomvandlaren genomförda
interpolationsprocessen. “Fig. 29 är ett blocksohema över kodomvand-
larens direktaecess-adresseringsdel. Fig. 30 är ett blockschema
över kodomvandlarens skal-element. Fig. 31 är ett ytterligare
flödessohema som visar verkningssättet för kodomvandlarens skal-ele-
ment, och fig. 32 slutligen är ett geometriskt diagram som visar den
av kodomvandlaren genomförda medelvärdesbildningsprocessen.
De_föredragna utföringsformerna av uppfinningen skall i det
följande beskrivas i detalj. Den första delen av detta avsnitt
hänför sig till stiltyp-lagringssystemet med dess_nya och fördelak-
tiga system för digital kodning av tecken eller symboler. Den andra
delen avser anordningar som kan avbilda tecken vilka är definierade
av stiltyp-lagringssystemet. f -
Fig. 1 visar t. ex. en mycket förstorad version av en versal
"Q" som är överlagrad på ett rutnät eller en matris av horisontella
10
15
20
25
30
35
' H0
446 705%
Varje tecken eller symbol som har registre-'
horisontella och vertikala upplös-
och vertikala linjer.
rats finns på ett sådant rutnät.
"ningen har i fig. 1 visats såsom varande lika stora, men detta är ej
nödvändigt. Tecknen kan vara av godtycklig bredd och de är place-
rade på en "baslinje". Varje tecken eller symbol antas dessutom
innehålla ett "vitt område" omkring tecknet och är försett med
teckenbredd-kanter som kallas vänster och höger referemslinje.
Linjerna i det i fig. 1 visade rutnätet kan representeras
(numreras) med X- och Y-koordinaterna i ett kartesiskt koordinat-
system, En godtycklig punkt inom rutnätet kan benämnas med koordi-
naterna för den närmaste skärningspunkten mellan en horisontell och
en vertikal linje. Den längst till vänster befintliga vertikala
kanten av tecken-zonen kallas X=0 och den horisontella baslinjen
kallas Y=0.
När ett tecken, exempelvis den i fig. 1 visade versalen Q,
skall digitalkodas, måste den först prickas in i rutnätet på sådant
sätt att samtliga värden på X och Y representeras såsom hela tal.
Genom att bråkdelar elimineras från koordinatvärdena kan de tal som
representerar X och Y hållas små. Som framgår av fig. 1 är kontu-s
rerna av tecknet "Q" inritade genom val av de närmast liggande
skärningspunkterna i rutnätet. Var och en av dessa punkter kan
sålunda representeras av sina koordinater X och Y, där X och Y är
hela tal. Det är därför möjligt att fullständigt definiera - d.v.s.
digitalt koda - tecknet genom att göra en lista över samtliga dessa
koordinater, företrädesvis i någon systematisk ordningsföljd.
Eftersom emellertid rutnätet eller matrisen måste ha tillräcklig
linjetäthet för att eliminera ett kantigt utseende, så skulle en
definiering av tecknet på detta sätt även om tecknet avbildas i sin
största punkt-storlek kräva ett orimligt stort minnesutrymme. Det
finns exempelvis i den i fig. 1 visade versalen av tecknet "Q" 267
konturkoordinatpunkter som är definierade inom en matris 60 x 80.
Om matristätheten ökas med en faktor 10 i var och en av de mot
varandra vinkelräta riktningarna (en mera praktisk matris för
kvalitets-sättmaskiner) skulle tecknet "Q" ha ungefär 2.500 koordi-
natpunkter. Eftersom varje koordinat i en matris om 600 x 800
kräver 20 databitar för sin definition, (10 bitar för vardera X och
Y), skulle man behöva 50 kbits för att representera versalen "Q".
Eftersom en typisk stilsats har mer än 100 tecken, skulle en sätt-
maskin behöva ha ett snabbt minne med en kapacitet av ungefär 60
miljoner bitar för att lagra en enda stilsats i denna typ av kod.
10
15
20
25
30
35
H0
446 705 w _
Fig. 2 visar hur det antal koordinatpunkter X och Y som defini-
erar ett tecken kan reduceras genom att man endast anger den första
och den sista punkten på en vertikal eller horisontell linje (koor-
dinat). Tecknet “Q" har i figuren delats i halvor. På vänstra
sidan finns de vertikala linjernas slut-konturpunkter och pà den
högra sidan finns de horisontella linjernas slut-konturpunkter.
Genom att Jämföra fig. 1 med 2 finner man att det totala antalet
koordinatpunkter väsentligt har reducerats. Så snart en vertikal
punktlinje uppträder i tecknet, såsom fallet är längs tecknets
vänstra sida, utelämnas samtliga punkter mellan de båda ändpunkterna
med vertikalkonturkoden. Analogt härmed, så snart en horisontell
punktlinje uppträder i tecknet, såsom fallet är i tecknets översta
del, utelämnas mellanpunkterna med horisontalkonturkoden. Speciellt
om kocrdinatpunkterna representeras av relativa avstånd från närmast
föregående koordinatpunkter istället för av absoluta koordinatvär-
den, erhålles en betydande reducering i den mängd data som erfordras
för att definiera tecknet. En dylik representation skulle vara
väsentligen densamma som vid det i nämnda amerikanska patentskrifter
3 305 BÄ1-(Schwartz) och 3 471 848 (Manber) beskrivna teckenkod-
ningssystemet. I .
Uppfinningen ger ett kodningssystem som är t.o.m. ännu mera
sparsamt med minnesutrymme än den i fig. 2 visade teckenrepresenta-
tionen och som kan användas i en sättmaskin med ett minimum av
maskinvaru-uppbåd för att avbilda tecken med hög hastighet. Detta
teckenkodningssystem kan dessutom automatiseras på ett enkelt sätt
med användning av en digital kalkylator. 7 ,
Fig. 3 visar kodningssystemet enligt uppfinningen. Enligt
detta system har antalet koordinatpunkter längs teckenkonturerna än
ytterligare reducerats, och det antages att dessa punkter är för-
bundna med varandra genom räta linjer. 'I stället för att specifice-
ra de absoluta koordinaterna för dessa valda punkter runt tecknets
kontur representeras de räta linjerna såsom "vektorer" av antalet
koordinatenheter från vektorns ena ände till den andra. Vektorerna
är anordnade i ordningsföljd, från_spetspunkten till slutpunkten, så
att en ny vektor.börjar där en närmast föregående vektor slutar. En
serie eller sträng av dylika vektorer, vilka bildar tecknets kontur,
utgår från en ursprunglig "startpunkt" som är given i absoluta
koordinater. ' 2 I'
Som framgår av den vänstra halvan av fig. 3 fortskrider vekto-
rerna från vänster åt höger, med den konventionen att om två vekto-
10
15
20
25
30
35
HO
446 705
11
rer börjar från samma X-koordínatvärde, så skall den lägsta förteck-
nas först. Analogt gäller att om ett eller flera par startpunkter
är givna, så förtecknas det lägre paret och den lägre startpunkten
först.
I fig. 3 anges sålunda startpunkterna X1, Y1 (25) och
X2, Y2 (26) först i denna ordningsföljd. Därefter förtecknas de
vektorer som härrör från dessa startpunkter i ordningsföljden 1, 2,
3, Ä. De tal som definierar dessa vektorer är angivna i Tabell I:
TABELL I
Vektor nummer X-avstånd Y-avst nd
1 2 -7
2 2 6
3 '4 -6
11 ' 11 7
När vektorerna 3 och 4 har löpt ut, är det nödvändigt att
definiera två nya startpunkter, X3, Y3_och Xu, Yu innan man
fortsätter med nya vektorer; Eftersom teckendata fortskrider från
vänster åt höger skulle man eljest anta att det ej fanns några
vektorer eller startpunkter med X-koordinatvärden i X-koordinatområ-
det för de nästföljande två vektorerna.
Efter angivandet av startpunkterna X3, Y
förtecknas vektorerna i ordningsföljden 5, 6, 7, 8 med användning av
Ytterligare vektorer
och Xu, Yu
konventionen att de anges nedifrån och uppåt.
förtecknas därefter i ordningsföljden från vänster till höger och
nedífràn och uppåt; d.v.s. 1 den ordningsföljd i vilken de "löper
ut" när man går åt höger längs X-axeln.
Normalt föreligger startpunkterna parvis.
möjligt att tvâ vektorer går ut från samma startpunkt i enlighet med
vad som åskâdliggöres genom vektorerna 9 och 10. I detta fall är
det fördelaktigt om samma startpunkt betraktas som ett "par" start-
punkter med identiskt lika värden, så att vektorn 9 fortskrider från
koordinatpunkten X5, Y5 och vektorn 10 fortskrider från punkten
Det är emellertid
X6, Y6.
Den högra delen av fig. 3 åskådliggör samma kodníngssystem med
en annan konvention. I detta fall är ett teckens vektorer förteck-
nade uppifrån och nedåt i en hel sträng efter de ursprungliga
absoluta koordinaterna för den översta punkten i en vektorsträng. I
det fall att två startpunkter förefinnes vilka har samma Y-koordi-
10
15
20
25
30
35
H0
446 705
12
natvärde kan vilken som helst av dessa punkter anges först.
Med den kontur som visas i den högra delen av fig. 3 är
data-ordningsföljden följande. Startpunkten X7, Y7 och dess
vektorer 11, 12, 13 etc. fram till slutet av strängen;-startpunkten
X8, Y8 etc. till slutet av strängen; startpunkten X9, Y9;
vektorerna 17 och 18; startpunkten X10, Y10, vektorn 19 o.s.v.
Som fallet är när det gäller startpunkten X5,_Y5 och X6,
Y6 är slutligen en enda punkt definierad såsom ett "par" start-
punkter X11, Y11 och X12. Y12. Först anges punkten X11,
Y11 med sin vektor 20; därefter anges startpunkten X12, Y12
följd av vektorn 21 och de övriga vektorerna i strängen. Vektorn 20
slutar i ändpunkten 22. Den vektorsträng som börjar med vektorn 21
slutar i ändpunkten 23, och den vektorsträng som börjar med vektorn'
11 slutar i ändpunkten 2U. . ' 0
Det finns tvâ orsaker till att startpunkt- och vektorkodnings-
systemet enligt uppfinningen är mera minnesutrymmesekonomiskt än det
som visas i fig. 2 och är beskrivet i de ovannämnda patentskrifterna
3 305 8u1 och 3 H71 aus; g
(1) Flertalet tecken innehåller till skillnad från det som
åskådnigsexempel valda "Q" ett antal räta linjer i sina konturer.
(2) Även krökta ytor kan med tillfredsställande noggrannhet
g representeras med en sekvens av rätlinje-vektorer med tillräcklig
längd för att avsevärd datakompression skall vara möjlig.
Erfarenheten har visat att den datamängd.som erfordras för att
definiera en stiltyp med kodningsschemat enligt uppfinningen i
jämförelse med det i amerikanska patentskrifterna 3 305 8ü1 och 3
Ä71 SU8 beskrivna reduceras med en faktor 10. ,
En ytterligare fördel med kodningssystemet enligt uppfinningen
är att det är lämpligt för kalkylator-automation. Med andra ord,
när de digitala data som definierar ett tecken väl har reducerats
till det i fig. 2 visade formatet med antingen vertikala eller
horisontella konturer, kan de omvandlas till startpunkt- och vektor-
data med användning av en enkel algoritm. Fig. H visar en typisk
beräkning, och fig. 5 visar en dylik algoritm som kan användas för
att bestämma en vektcrs längd.
.Fig. N visar en provmatris 15 x 15 arrangerad i den övre högra
kvadranten från en punkt (0, 0) som kan vara en ursprunglig start-
punkt eller spetsen av en föregående vektor. Vid provmatriskvadran-
ten antages att en från vänster till höger orienterad vektor skall
definieras, vilken sträcker sig uppåt (positiva Y-värden). Det är
5
10
15
20
25
30
35
NO
446 705
13
uppenbart att provmatrisen även kan vara placerad i någon av de
övriga kvadranterna beroende på den riktning i vilken vektorn
förlöper.
Storlekan av provmatrisen motsvarar dessutom maximalt tillåtna
längden av en vektor (i detta fall 15 enheter i vardera X-riktningen
och Y-riktningen). Om vektorerna är valda så att de har en större
eller en mindre maximal längd, ändras matrisens storlek i motsva-
rande mán. I
I detta exempel representerar punkterna 30 den faktiska digita-
liserade konturen av tecknet i det i fig. 2 visade formatet. Linjen
32 är en föreslagen vektor som måste provas i och för bestämning av
huruvida den kommer.tillräckligt nära den längst bort_be1ägna
konturpunkten för att representera konturen. Koordinaterna X, Y
definierar den aktuella provpunkten för vektorns 32 spets. Koordi-
naterna för samtliga konturpunkter 30 är betecknade med ko, yo;
X1, y1; ... X15, y15 i enlighet med ordningsföljden längs
matrisens X-axel.
Som framgår av fig. 5 är den första konturpunkten som skall
provas den punkt på matrisen som har den största framâtriktade
komposanten (i detta fall X) från punkten (0, O). I fig. M är den
första DP°VDunkten XT, YT (15, 9). Den fjärde provpunkten, där
XT, YT är koordinaterna (12, 9) i enlighet med fig. H, provas
efter det att de tre föregående provpunkterna (15, 9), (lä, 9) och
(13, 9) visat sig ej passa. Ändamålet med algoritmen är att finna
den längsta vektorn som klarar passningsprovet.- Algoritmen provar
varje konturpunkt 30 med lägre värde (med koordinaterna x, y) för
att bestämma huruvida ett vinkelrätt avstånd 5 från denna punkt till
den från ursprungspunkten (0, O) dragna_vektorn till XT, XT
överstiger en förutbestämd passningskonstant K. Först väljes
koordinaterna x, y för den punkt 30 som befinner sig omedelbart före
DPOVPUHRCGH XT, YT och provet genomföras. Om avståndetå
_överstiger konstanten K (d.v.s. om provet ger ej godtagbart resul-
fiafi) ÖVGPSGS PP°VPUflkfi9n XT, YT och nästa lägsta värde på XT
väljes. '
När en provpunkt har påträffats för vilken samtliga kontur-
punkter 30 med lägre X-koordinatvärden klarar provet, eller när
x'k°°fd1natVäPd°t XT för provpunkten har reducerats till ett,
används koordinatvärdena XT, YT för att definiera vekg°rn_
vektorn representeras sedan av skillnaden mellan koordinaterna för
den närmast föregående vektorns spets (koordinatvärden 0, O i
10
15
20
25
30
35
NO
- 446 705
T 1N
provmatrisen) och koordinatvärdena för den valda provpunkten XT,
YT. Med andra ord, dx, dy sättes lika med XT, YT; '
Det vinkelräta provavstándet Ä bestämmas för varje punkt
medelst_enkel geometri. Med användning av likformiga trianglar
erhåller man:
X
.;..É._... ' ..____2L-_---- ' och
'A ' ',----------_
' Y T X 2 + YT2
T ' T I
Y
.n
A ._ n annan-una.
Y .i ya xa x
Lösning med avseende på Äågerz
u Y
x c T)
6 I . T I y -x x
'f"ff"”"' '_ 6 6 T
V. 2 2
X -l-Y
T 'P '
å 2 [Tab-en I värde (axT, YT]° [vö - xévrabeii II värde øxT Yqj]
X _
4 .
,
Värdena på . V 2 2
T T
kan givetvis beräknas för varje särskild gång medelst en kalkyla-
tor. Men eftersom det finns ett begränsat antal punkter XT, YT
i en matris om 15 x 15, är det fördelaktigare om samtliga möjliga
lösningar på dessa uttryck införes i en Tabell I resp. en Tabell II
så att de snabbt kan "slås upp" och återvinnas från ett minne.
Det bör dessutom observeras att den förhandsinställda pass-
ningskonstanten kan väljas hur liten som helst, så att vektorerna
med önskad approximation ansluter sig till den verkliga teokenkon-
turen. I en föredragen utföringsform är konstanten K vald så att
den är beroende av provvektorns lutning, så att i det närmaflhe
ooh YT/XT
u
10
15
20
25
'35
HO
446 705
15 _
horisontella lutningar kan avvika mera från konturen:
Om YT/XT är större än 1 så är K = 0,5; och
Om YT/XT är mindre än eller = 1 så är x = 1,0.
Det inses lätt att den i fig. 5 visade algoritmen är ytterligt
enkel och kan genomföras med användning av en för allmänbruk utförd
kalkylator i vilken.vertikalkonturpunkter eller horisontalkontur-
punkter (se fig. 2, vänstra resp. högra sidan) är lagrade. Ett
program för en viss kalkylator kan utarbetas ur denna algoritm med
användning av välkända programmeringsprinciper och -metoder.
Fig. Ä visar en provmatris i vilken de maximalt tillåtna
värdena på X och Y är 15 enheter. En vektor som slutar i någon
punkt inom denna matris kan definieras medelst två H-bits binära
tal: dx och dy. En analys har visat att även med ett rutnät med
måttligt hög upplösning kommer den helt dominerande delen av de
vektorer som erfordras för att definiera ett tecken att falla inom
en dylik matris 15 x 15 så att det är tillfyllest ooh resulterar i
datareducering om 8 bitar (1 byte) data används för att definiera
varje vektor. _
Enligt uppfinningen väljes därför antalet bitar som definierar
en vektor så att man till ett minimum nedbringar det totala data-
innehållet i en stiltyp för en given upplösning. Proceduren med val
av maximala vektorlängden innefattar följande steg:
(1) Maximala punktstorleken för de tecken som skall alstras av
' sättmaskinen bestämmas först.
(2) När maximala punktstorleken har bestämts, väljs en upplös-
ning som möjliggör återgivning av de fina detaljerna i de största
tecknen.
(3) När upplösningen har bestämts väljs den förhandsinställda
. passningskonstanten K så att vektorerna följer de krökta teckenkon-
30"-
turerna med tillräcklig noggrannhet för att tecknen när de återges i
den största punktstorleken ej förefaller att uppvisa en serie raka
stycken på krökta ytor.
(H) När upplösningen och konstanten K har bestämts är det
möjligt att alstra en statistisk fördelning av vektorer med varie-
rande längd för samtliga tecken i en etiltyp. En sådan vektorlängd-
fördelning kan visa det relativa antalet vektorer av vardera av de
tillåtna längderna (1 x 1, 3 x 3. 7 x 7, 15 x 15» 31 x 31 ete.).
(5) Ur denna vektorlängdfördelning väljs en maximal vektorlängd
som medför en minimimängd data. Om den maximala vektorlängden är
för liten (t.ex. 3 x 3 som kan definieras med totalt H bitar),
10
15
20
25
30
35
NO
446 705
16
kommer definieringen av ett tecken att kräva ett överdrivet stort
antal vektorer och datareduceringen kommer att bli minimal. Ana-
logt, om maximala vektorlängden är för stor (t.ex. 255 x 255 som kan
definieras med 16 bitar) så kommer den datamängd som krävs för att
definiera korta vektorer att bli onödigt stor, vilket resulterar i
minimal datareduktion. I
Fig. 6 åskådliggör ett föredraget format för att definiera ett
tecken med vänster-höger-vektorer (fig. 3, vänstra sidan). Dessa
vektorer är specificerade i en kvadrant av X- och Y-koordinaterna
för vektorns ände i förhållande till kvadrantens origo. Eftersom
konturerna följs från vänster till höger tvärs över tecknet, kommer
endast de båda högra kvadranterna att användas. iStyrkoder möjliggör
kvadrantval och initiering och fullbordande av kurva. Startpunkter
definieras uteslutande med sina Y-värden, eftersom X-läget ingår i
kodningen.
Ett “datablock" som definierar tecknet börjar med ett
"start-ord" A (innehållande två bytes om vardera 8 bitar) som ger
X-koordinaten för tecknets vänstra referenslinje. Detta följs av
ett "startpunkt-ord" B som ger Y-koordinaten för den lägsta start-
punkten i tecknets första X-rutnätlinje. Ordet B följs av en
"vektor-byte" som ger värdena dx och dy för en vektor från denna
startpunkt och därefter av ett ytterligare startpunkt-ord D som
definierar den näst lägsta punkten. Ytterligare ett startpunkt-ord
E definierar den högsta punkten på den första X-rutnätlinjen och en
vektor-byte F definierar en vektor från denna startpunkt. Om det
finns några startpunkter inom femton X-enheter från den första
rutnätlinjen, kan dessa infogas i sin vederbörliga Y-värde-ordnings-
följd. Tecken-datablocket fortsätter med vektor-bytes,"styr-bytes"
och start-ord C samt slutar med en "blockslut-byte" H som anger
blockets slut. _
Fig. 6B, 6C, 6D och 6E visar formaten för start-ordet (25a),
startpunkt-ordet (25b), vektor-byte resp. styr-byte (28). Dessa
format är ritade med den minst signifikanta biten till höger.
Innebörden av symbolerna inom dessa ord och bytes är följande:
10
15
20
25
30
35
RO
Start-ord:
x8X7X6Xs*nx3xëX1xo
Startgunkt-ord:
"s
Y9ï8¥7Y6ï5Ynï3Y2Y1Yo '
Vektor-byte:
Y3ï2Y1Yo
N2“1“o
x3X2X1Xo -
17
446 705
Vänster referenslinje, storlek
Provbit, kan användas för
feldetektering.
Kedjebit, anger huruvida
detta ord inleder det sista
tecken-blocket.
underskärningsbit, bestämmer
riktningen av vänstra refe-
renslinjen (bort från eller i
riktning mot det föregående
tecknet).
Antalet startord på tecknets
första rutnätlinje.
Vertikala avståndet
mellan tecken-baslinjen
och startpunkten
(antingen positivt
eller negativt)
Ej definierad
"Ned-bit", bestämmer i
vilken av de båda högra
kvadranterna som den
efterföljande vektor-
förskjutningen kommer
att inträffa.
Antalet rutnätlinjer
mellan uppträdandet av
styrkoden "start ny
linje" och själva
startpunkterna.
S-
D..
aDetta värde definierar
den vertikala förskjut-
ningen mellan en
vektors början och slut.
5
10
15
20
æ
30
35
H0
446 705
x3X2X1Xo
Styr-byte
0 0 0 0
M3M2M1Mo
18
Detta är den horison-
tella förskjutningen
mellan en vektors
början och slut.
Dessa bitar definierar
en styr-byte, om de är
nollställda.
Dessa fyra bitar bildar
ett binärt tal (0 till
15) som anger en
_"styr-funktion".
Styrfunktioner: Styrfunktioner erfordras genom hela tecken-blocket
och anges i styr-byte'n med dess fyra signifikanta bitar nollställ-
da.
Detta gör det möjligt att definiera sexton olika funktioner med
de återstående fyra bitarnas numeriska värde.
0
1 och 2
3
8
9
10 och 11
12
13
Utfyllnad
Odefinierade
Start av två konturer utan
nägra mellanliggande konturer.
Start av tvâ konturer under
de existerande.
Start av fyra konturer utan
några mellanliggande konturer.
Start av fyra konturer under
de existerande.
Ersätt ett existerande
kontur-värde med ett nytt
värde utan att ändra den
numeriska ordningsföljden
uppför rutnät-linjen (d.v.s;
avsluta en kontur och starta
en kontur)- '
Ej definierad
Block-avslutning.
Ej definierade
Avsluta tvâ konturer
Avsluta fyra konturer
10
15
20
25
30
35.
H0
446 705
19
1U - Ändra riktning. Efterföljan-
de vektorer befinner sig i
den andra kvadranten.
f15 - Vertikal förskjutning 16
enheter utan horisontell
. rörelse.
Fig. 7 och 8 visar hur ett tecken kan kodas med kodningsschemat
enligt uppfinningen med användning av det i fig. 6 visade formatet.
I fig. 7 har ett enkelt "tecken" ritats, vilket innehåller ett
antal startpunkter, slutpunkter och mellanliggande vektorer. Den
egentliga kodningen för detta tecken visas i fig. 8, vänstra kolum~
nen. Mittkolumnen i fig. 8 beskriver denna kodning, och den högra
kolumnen visar den ordningsföljd i vilken data tillföres till och
utnyttjas av sättmaskinen.
Fig. 9 visar ett föredraget format för att definiera ett tecken
med upp-ned-vektorer (fig. 3, högra sidan). Dessa vektorer är
specificerade i en kvadrant genom koordinaterna X, Y för vektorns
slutpunkt i förhållande till kvadrantens origo. Eftersom konturerna
följes uppifrån och nedåt för tecknet, kommer endast de två undre
kvadranterna att användas. Såsom vid det i fig. 6 visade formatet
tillåter styrkoder kvadrantval samt initiering och fullbordande av
kurva. Med detta format befinner sig rutnätlinjen Y=0 överst i
teckenområdet och på varandra följande horisontella rutnätlinjer ges
konsekutiva Y-nummer nedåt längs rutnätet.
Ett datablock som definierar tecknet börjar med ett "Y-dataord"
som ger tecknets högsta Y-startkoordinat. Detta ord följs av ett
"X-dataord" som definierar X-startkoordinaten för en kontur och
vektorerna och styrdata för denna kontur.
Samtliga följande konturer är ordnade så att startpunkt-Y-vär-
dena är i stigande ordningsföljd; d.v.s. Y-värdet för nästa kontur
är lika med eller större än Y-värdet för den närmast föregående
konturen. På detta sätt definieras och fullbordas hela "strängar"
eller sekvenser av vektorer innan den nästföljande strängen defini-
eras. Om två startpunkter har samma Y-värde, kan vilken som helst
av dessa punkter förtecknas först med hela sin vektorsträng.
Fig. 9B, 9C och 9D visar formaten för Y-dataordet 27a, X-data-
ordet 27b resp. vektor- eller styrordet. Dessa format är utritade
med den minst signifikanta biten till höger. Innebörden av
symbolerna inom dessa ord och bytes är följande:
10
15
20
25
30
35'
NO
446 7o5
Y-dataord:
XN -
+/- -
L _
F -
l E -
B .
20
Dessa data definierar det horisontella läget för en
startpunkt. Vänstra referenslinjen (LSB) är definie-
rad såsom 0.
Teckenbiten definierar XN:s förskjutning i förhållande
till vänstra referenslinjen (LSB). f
L-biten definierar dx-riktningen för den första
vektorn. D I
F-biten eller "buktningsbiten" definierar den vektor-
lutning som skall användas av avkodaren vid extrapole-
ring av en teokenkontur i rutnätsområdet omedelbart
ovanför linjen YN.
E-biten eller "extrapoleringsbiten" definierar huru-
vida extrapolering skall användas eller ej i området
ovanför rutnâtlinjen YN.
B-biten utgör biten “gränslinje till/från" och defini-
erar huruvida konturen är den vänstra gränslinjen
(till) eller den högra gränslinjen (från).
Vektor/stgrnings-ord:
dydx
Stgrfunktioner:
en styrkod.
För samtliga dy-värden som är större än 0 definierar
denna byte lutningen av vektorkonturen av tecknet från
startpunkten (YN, XN) eller från den senaste vektorns
slutpunkt. Samtliga vektorer genomgâs i serie-sekvens
i samma ordningsföljd som den i vilken de uppträder på
teoknets kontur. Den ursprungliga vektorn återfinns i
ordets mest signifikanta bitar (M§B) ooh den andra 1
dess minst signifikanta bitar (LSB). _
För samtliga värden på dy=o 'definierar denna byte
Den speciella koden bor på värdet på dx i enlighet med
vad som framgår nedan:
0 - Slut på konturen.
Om den befinner sig i de mest signifi-
kanta bitarna, måste de minst signifikanta bitarna vara
fyllda med nollor.
1 - Kasta om dx-riktningen för nästa vektbr.
2 - Anger att det ej finns några förskjutningsvektorer som är
tillämpliga för den startpunkt som är definierad genom de
närmast föregående dataorden Y och X.
Denna styruppgift
kommer alltid att befinna sig i de mest signifikanta
bitarna; de minst signifikanta bitarna är fyllda med nollor;
10
15
20
25
30
35
NO
446 705
21
för att bilda en styrkod "slut på konturen".
3 - Definierar en vektor med en horisontalförskjutning av 0
enheter (en vertikal vektor) och en vertikal förskjutning
som är större än 30 enheter. Nästa data-byte anger ett
binärt värde för den vertikala förskjutningen.
data-byte har ett resulterande vertikalförskjutningsomráde
av 0 t.o.m. 255, men den skall ej användas från O t.o.m. 30.
4 - Definierar en vektor med en horisontell förskjutning av 1
enhet och en vertikal förskjutning av 30 enheter.
5 - Definierar en vektor med en horisontell förskjutning av en
enhet och en vertikal förskjutning av 60 enheter.
6 - Definierar en vektor med en horisontell förskjutning av 1
enhet och en vertikal förskjutning av 120 enheter.
- Definierar en vektor som följer en konkav kontur.
- Samma som funktionen 7 men för en konvex kontur.
Samma som funktionen 7 men för en rätlinjig kontur.
- Anger huruvida konturen har en liten eller en stor grad av
konkavitet eller konvexitet (denna bit avkännes endast om
biten 7 eller 8 anger konkavitet eller konvexitet).
11 - Definíerar en vektor med en vertikal förskjutning av 1
enhet och en horisontell förskjutning större än 255 enhe-
ter. Nästa data-byte definierar det binära värdet för en
horisontell förskjutning överstigande 255 enheter.
12-1ü - Ej definierade. _
15 - Definierar en vektor med en horisontell förskjutning av 1
enhet och en horisontell förskjutning större än_15 enheter.
Nästa data-byte anger det binära värdet för den horison-
tella förskjutningen.
Fig. 10 och 11 visar hur ett tecken kan kodas med kodningssche-
mat enligt uppfinningen med användande av det i fig. 9 visade
I fig. 10 innehåller tecknet "A" ett antal startpunkter,
Den faktiska kodningen för
Den högra kolumnen
Denna
Ö\OCO-\1
I
formatet.
slutpunkter och mellanliggande vektorer.
detta tecken visas i fig. 11, vänstra kolumnen.
i fig. 11 beskriver denna kodnings art.
Fig. 12 visar en konventionell magnetisk skiva 65, kallad flex-
skiva eller "floppy disk", vilken har uttagits ur sitt kartongfod-
ral. Skivan har en diameter av ungefär 203 millimeter och har en 38
millimeters central öppning för att kunna försättas i rotation av en
axel. Skivan kan vara magnetiskt känslig pâ den ena sidan eller på
båda sidorna, så att den binära informationen kan registreras och
..._.._..
10
15
20
25
30
35
40
446 705
g ' 1 22
lagras på samt återvinnas från den ena sidan eller från båda sidorna.
Den i fig. 12 visade flekskivan är "hårt sektorindelad" genom
32 små hål som är placerade i jämn delning kring den centrala-
öppningen. Ett 33:e hål är upptaget halvvägs mellan två av de i
jämn delning utplacerade hålen för att ange en startpunkt. Hålen,
som kan avkännas medelst en fotooell, indelar skivan i 32 lika stora
sektorer (i fig. 12 angivna medelst linjer endast i och för beskriv-
ningen). Skivan är även indelad i 77 konoentriska spår (likaledes
inritade med linjer uteslutande i och för beskrivningen). Sålunda
kan en lagringsplats på skivan specificeras genom spår och sektor,
varvid numren på ett spår och en sektor bildar en "adress".) Varje
adress (spår och sektor) på skivan kan lagra upp till 250 bytes
information. 1 _ 2
Fig. 13 visar hur en eller flera stiltyper som är kodade 1
enlighet med principerna för uppfinningen kan registreras på en
flexskiva. Två speciella sektorer på skivan i ett speciellt spår
(t.ex. spåret 00, sektorerna 00 och 01) är reserverade för skiveti-
kett och stiltyp-innehållsuppgift. Den kodade teckeninformationen .
kan lagras med början på godtycklig annan adress på skivan.
Skivetiketten beskriver innehållet i skivan i konventionella
bokstäver, som är kodade i konventionella latinska bokstäver, kodade
i binär form med en standardkod, exempelvis American Standard Code
for Information Exchange (ASCII). Stiltyp-innehållsuppgiften ger
begynnelseadressen för varje stiltyp som är registrerad på flexski-
van. Denna stiltyp-innehållsuppgift kan exempelvis bestå av en
följd av dubbla ord, varvid det första ordet definierar stiltyp-num-
ret och det andra ordet spår- och sektoradressen för stiltypens
början. Om sålunda en användare önskar leta reda på stiltyp nummer
126, bringar han kalkylatorn att avsöka stiltyp-innehållsregistret
för att finna begynnelseadressen för denna stiltyp.
Stiltyp-informationen består av ett tecken-upps1ags- och
breddregister, följt av datablook vilka definierar det antal tecken
som ingår i stiltypen ifråga. Tecken-datablocken kan ha det format
som visas 1 fig. 6A eller fig. 9A, eller också kan de ha annat
lämpligt format för kodade tecken-data.
Ett typiskt uppslags- och breddregister är visat i fig. 1U.
Detta register innehåller data som är tillämpliga på individuella
tecken som erfordras i ett sättningssvstem. Teckenavbildningssys-
temet eller sättmaskinen använder ej denna information.
Om tre bytes används för att definiera data för varje tecken,
10
15
20
25
30
35
NO
446 705
Varje tecken-
23
så kan upp till 83 tecken beskrivas i en sektor.
bredd-grupp om tre bytes innefattar tecken-nummer, teckenenhet-
-bredd- resp. "flagg"-bitar. Tecken-numret hänför sig till tecknets
form enligt tangentbords-arrangemang-nummer. Enhetsbredden är
tecknets bredd i 1/5" av en "em".
Flagg-bitarna är tilldelade bitar som definierar speciella
egenskaper för tecknet. Flaggbiten 6 är "B"-biten som anger att
tecknet har en utskjutande del i linje med den undre delen av
tecknet vilken ej får överhoppas när versalen skall alstras.
*Flaggbiten 5 är "C"-biten, som anger att tecknet är ett mittcentre-
rat mönster, under det att flaggbiten H är den "D"-bit som anger att
tecknet är ett övre index till rubrikstil ("drawn display superior
figure"). _
Tecken-uppslags- och breddregistret slutar med en kedjeadress
som innehåller adressen till nästa teckenbredd-registersektor eller
den första sektorn i de kodade teckendata.
När digitaliserad teckeninformation väl har kodats och lagrats
på en flexskiva måste den läsas, tolkas och avbildas av en typsätt-
anordning på en fotografisk film. Denna teckengenereringsprocess
kommer nu att beskrivas för det ovan beskrivna teckenkodningssohemat
i anslutning till fig. 3 - 14, med arrangemang i det speciella
format som är visat i fig. 6-- 8. Fig. 15 visar den typ av data som
erfordras för en teckengenerator för att "svepa" ett tecken (1 detta
fall återigen bokstaven "Q") medelst ett katodstrålerör, en laser-
stråle eller annan typ av punktsvepanordning. Speciellt kräver
teckengeneratorn data i form av skärningspunktvärden för varje
utgångs-avsökningslinje. När det gäller vertikala avsökningslinjer,
såsom visas i fig. 15, är dessa de angivna Y-värdena för till/från-
-punkterna för varje avsökningslinje. värdena refererar till
tecknets baslinje med de positiva värdena på Y ovanför och de
negativa värdena under baslinjen. Det översta värdet för det högsta
avbildade segmentet i en avsökningslinje flaggas så att teckengene-
ratorn omedelbart kan gå vidare och avsöka nästa linje.
I fig. 15 rör sig den avsökande strålen i den första avsök-
ningslinjen NO (längst till vänster) vertikalt uppåt och fortskrider
med en konstant hastighet från baslinjen. Strålen förblir frånsla-
gen till dess att den har förflyttat sig en sträcka YO från baslin-
jen. I denna punkt slås strålen till och förblir tillslagen till
dess att den har förflyttat sig ett avstånd Y1 från baslinjen.
Därefter kan svepet fortsätta med strålen frånslagen till dess att
10
15
20
25
30
35
UO
446 705
au
det når rastermatrisens överkant. Företrädesvis kommer emellertid
strålen omedelbart att svepa tillbaka nedanför Y2 eller till baslin-
jen och fortsätta med den andra avsökningslinjen H2. Detta återsvep
triggas genom att man förknippar "linje-slut"-flaggan med data Y1.
Den datasekvens som teckengeneratorn skall genomföra är så-
lunda: YO, gl, Y2, lå, Yü, X2, Y6, 11, Y8, Y9, Y10, 111, Y12, Y13,
Y1R, 112 etc., varvid "linjeslut"-flaggan i denna sekvens är angiven
genom understrykning. Eftersom data lagras och tillföres till
sättmaskinen i startpunkt- och vektorkontnr-format, kräver sätt-
maskinen en "kodomvandlare" för att omvandla detta vektorformat till
det i fig. 15 visade skärnings- eller "interoept"-formatet. Den
apparattekniska uppbyggnaden av kodomvandlaren kommer att bero på
det speciella vektorformat som används (exempelvis det i fig. 6-8
visade formatet eller det i fig. 9 - 11 visade formatet) och det
speciella intercept-format (vertikal eller horisontell avsökning;
enkelt tecken eller dubbelt tecken per avsökningslinje) som an-
vänds. I den nedan beskrivna utföringsformen kan kodomvandlaren
omvandla det i fig. 6 - 8 visade formatet till ett vertikalt avsökt
intercept-format för enkelt tecken. - _
För att utföra omvandlingen från vektorformat till interoept-
-format bör kodomvandlaren företrädesvis kunna genomföra skaländ-
ring, interpolation och medelvärdesbildning. Dessa tre operationer
är åskådliggjorda i fig. 16 - J9.
Om man antar att utgångsupplösningen (avsökningslinjetätheten)
för teckengeneratorn är fastlagd, måste tecknen horisontellt
skal-anpassas genom inställning av det antal avsökningslinjer som
erfordras för att definiera ett tecken. Fig. 16 och 17 åskådliggör
denna princip, varvid tecknets bredd varieras genom jämn fördelning
av det erforderliga antalet avsökningslinjer tvärs över tecknet.
_ Vertikal skal-anpassning kan åstadkommas antingen genom analog
apparatteknik (exempelvis användning av vertikalavlänkningsförstär-
kare) eller-genom digital apparatteknik eller programvara (exempel-
vis genom att multiplicera intercept-värdena YO, Y1, Y2... etc. med
en digital skalfaktor). D
För tecken av större punktstorlek kan det bli nödvändigt att
interpolera för att finna strål-omkopplingspunkten på vissa avsök-
ningslinjer, ty linjetätheten för den matris eller det rutnät varpå
tecknet är kodat är otillräcklig. I enlighet med den föredragna
utföringsformen av uppfinningen används linjär interpolation för att
öka den digitaliserade upplösningen. Om exempelvis det kodade
10
15
20
25
30
35
HO
446 705
25
tecknets data motsvarar ett 32 punkters tecken i teckengeneratorns
upplösning, är det nödvändigt att multiplicera med en faktor större
än två för att uppnå ett 72 punkters utgångsresultat. De vertikala
Y-värdena fördubblas helt enkelt, och teckengeneratorns multiplice-
rare verkställer den ytterligare anpassningen. Kodomvandlaren
sätter in tre ytterligare vertikala linjer i jämn delning mellan
varje par digitaliseringslinjer och använder linjär interpolation
för att uppskatta intercept-värden i enlighet med vad som visas i
fig. 18. I denna figur är de heldragna linjerna den digitala
original-upplösningen och de streckade linjerna är de tillfogade
interpolerade lägena. En "O" anger en digitaliseringspunkt som
härrör från vektoravkodningen och ett "X" anger en interpolerad
punkt. Om samtliga extra linjer matades ut vid den konstanta
utgângs-upplösningen, skulle tecknet bli fyra gånger så stort som
dess ursprungliga storlek (t.ex. 128 i stället för 32). Det är
därför möjligt att periodiskt utelämna linjer tvärs över tecknet för
att erhålla godtycklig bredd understigande denna storlek.
Under en viss inställd bredd kan man använda en medelvärdes-
bildningsteknik för att reducera datamängden.
kommer den digitaliserade datamängden att överstiga den erforder-
För att utnyttja all denna information kan kodomvandlaren
För små storlekar
liga.
alstra intercept-värden som är aritmetiska medelvärdet av digitali-
seringsvärdena mellan utgångs-avsökningslinjerna i enlighet med vad
som framgår av fíg. 19. I denna figur är de heldragna linjerna den
ursprungliga digitaliseringsupplösningen och de streckade linjerna
är de avsökningslínjer som är utvalda för att utmatas. En "O" anger
en digitaliseringspunkt som är härledd genom vektoravkodning, ett
"X" anger ett värde som har använts för att beräkna medelvärdet och
en streckad "O" är kodomvandlarens medelvärdesbildade utgångsvärde.
Som framgår av figuren beräknas utgångsvärdet_ur samtliga mellanlig-
gande digitaliseringspunkter som värdet av den närmast föregående
utmatade linjen. Denna medelvärdesbildningsteknik resulterar i en
teckenförskjutning uppgående till ungefär en halv utgångssvep-upp-
lösningsenhet åt höger.
Fig. 20 visar en tredje generationens (katodstrålerör-) sätt-
maskin 200 som kan anordnas för att matas med digitaliserade stilty-
per som är kodade i enlighet med uppfinningen. Denna maskin innehål-
ler en eller flera flexskive-läs/skriv-enheter (monterade på gejder
för att lätt kunna avlägsnas), en kortstomme som innehåller ett an-
tal elektronik-kretskort, ett katodstrålerör, ett högspännings-mat-
10
15
20
25
30
35
NO
446 705
26
ningsaggregat för detta katodstrålerör, en mekanism för transport av
ljuskänslig film för att förskjuta film förbi katodstrålerörets
skärm och in i en upptagningskassett. Sättmaskinen innehåller även
de konventionella frontpanel-manöverorganen och en hàlremsläsare.
Fig. 21 visar anordningen för de olika komponenterna, av vilka
f flertalet är av välkänd typ, dock med undantag för kodomvandlaren
och teckengeneratorn vilka i detalj kommer att beskrivas i det
följande. ' '
vSystemet styras av en central processorenhet 50 (en högkoncent-
rerat integrerad enhet med handelsbenämningen 3/05 Naked Milli
Computer, tillverkad av företaget Computer Automation), antingen
direkt via sin egen data-buss (“maxibuss") 52 eller indirekt via en
speciell databuss (hjälp-buss) Sü. Systemets arbetssätt bestämmas
av ett program som befinner sig i ett huvudminne 56 vilket är
anslutet till nämnda "maxibuss" och kan ha upp till 32k x 16 bitars
lagringskapacitet. .
Arbetsinstruktioner för maskinen kan erhållas från tre möjliga
källor: en 300 Hz hålremsläsare 58, på frontpanelen befintliga
manöverorgan 60 och interface-enheten 62 för drift "on-line".
Samtliga dessa element är anslutna till maxibussen 52 liksom även en
flexskive-läs/skriv-enhet 6N som tillhandahåller de digitaliserade
stiltyperna.
En hjälpbuss-interface-enhet och en hjälpbussfbuffert 66 styr
de till hjälpbussen SH anslutna komponenterna, Interface-enheten
och styrorganet 66 styres i sin tur av den centrala processor-enhe-
ten (CPU) 50 via maxibussen 52.
Ett làgspännings-matningsdon 68 är kopplat till samtliga
elektronik-kretskort i och för strömförsörjning till matnings- och
logikkretsarna.
De till hjälpbussen anslutna komponenterna svarar för alstring-
en av tecknen. Kodcmvandlaren 70 tar ut komprimerade stiltyp-data
från ett BAM- eller PROM-stiltypminne 72 och behandlar dessa data
för alstring av ett utsträckt intercept-format. En teckengenerator
TU tar emot dessa data och alstrar en stràl-omkopplingssignal pà
ledningen Bß samt analoga spänningar som representerar X- och
Y-avlänkningar på ett katodstrâlerör. Dessa analoga spänningar
förstärkas av bildavlänkningsförstärkarna 76. Korrektionskretsar i
a dessa förstärkare modifierar de analoga signalerna för att korrigera
för katodstrålerörets geometri. Tecknen alstras slutligen på ett
katodstrålerör 78 med elektromagnetiska avlänkningsspolar 80.
10
15
20
25
30
35
40
446 705 e
21 e -e
Katodstrâlen "slås till" och "slås ifrån" i avpassade ögonblick
under avsökningen genom den signal som kommer in på ledningen-BU
från teokengeneratorn 7H. Elektronstrålen accelereras inom katod-
strâleröret medelst en hög spänning som tillföres från högspännings-
aggregatet.82. . '
Ljuskänsligt papper eller ljuskänslig film är i kontakt med
katodstrålerörets skärm-yta, så att latenta bilder av tecknen
bildas. En mekanisk filmtransportanordning 86 för fram papperet
etc. efter varje fullbordad teckenrad. En stegmotor i fílmtrans-
portanordningen tillföres energi från ett motordrivkort 88 vilket
styres av ett första styrkort 90 som är anslutet till hjälpbussen
SU. Papperet matas in i en ljustät upptagningskassett i vilken det
förvaras till dess att det framkallas. Papperet avskäres medelst en
elektriskt driven kniv och undergár därefter fotografisk behand-
ling.
Som ovan nämnts är kalkylatorn 50 anordnad att samordna och
styra funktionerna för de olika i systemet ingående elementen.
Först läses valet av stiltyp, punktstorlek, tecken och teokenposi-
tioner av hålremsläsaren 58 och lagras i huvudminnet 56. Därefter.
läses de kodade data som definierar de individuella tecknen av den
valda stiltypen från en flexskiva av läs/skrivêenheten 6N och lagras
i direktaccessminnet (RAM) 72. Allteftersom de på varandra följande
teokenblocken läses ut från flexskivan, placeras de i särskilda
positioner i minnet, så att dessa block därpå kan adresseras allt-
eftersom tecknen avbildas. RAM 72 erbjuder därför lätt åtkomst till
de komprimerade data som definierar tecknen i en enda stiltyp.
Efter instruktioner från kalkylatorn 50 mottar kodomvandlaren
70 kodade data för ett enkelt tecken på "informationsbebov"-basis
från RAM 72 och beräknar strål-omkopplingspunkterna för var och en
av de på varandra följande rasterlinjerna. Kodomvandlaren håller
även räkning på och uppdaterar X- och Y-rasterkoordinaterna. För
att underlätta beräkningen av strál-omkopplingspunkterna tjänstgör
ett i omvandlaren förefintligt programmerbart läsminne (FROM) såsom
uppslags-tabell för varje definierad vektors lutning.
Teckenavbildningssystemet innefattande elementen 7H - 90
avbildar på varandra följande tecken-linjer på den ljuskänsliga
filmen. Efter instruktioner från kalkylatorn 50 frammatar avbild-
ningssystemet filmen efter varje fullbordad linje.
Som ovan nämnts är samtliga i fig. 21 visade komponenter med
undantag av kodomvandlaren 70 och teckengeneratorn 7N av välkänd
10
15
20
25
30
35
'm
446 705
N
konstruktion och de finns i marknaden att tillgå såsom standardkom-
ponenter. Under det att kalkylatorn 50 är programmerad, består
programvaran väsentligen av standardiserade dataförflyttnings- och
maskinstyrningsinstruktioner i en given ordningsföljd. Programvaran
ligger sålunda väl inom kompetensomrádet för en fackman på program-
meringsområdet.
Teckengenereríngen sker på följande sätt:
Startpunkt och vektordata avseende den del av tecknet som skall
avbildas i en vertikal avsökningslinje adresseras (upprepas) från
RAM 72 och tillföres med låsning till kodomvandlarens ingångsbuf-
fert. Allteftersom varje avsökningslinje avbildas, infordras allt
efter behov de sekvensiella data som definierar startpunkter och
vektorer för nästföljande linje. Eftersom vektorerna kan sträcka
sig och normalt sträcker sig i X-riktningen tvärs över ett antal
vertikala avsökningslinjer, infordras en ny vektor endast om den
eller de närmast föregående vektorerna ej är tillfyllest för att
definiera nästa avsökningslinje. I
Beräkningen av katodstrålerörets stråles omkopplingspunkter för
nästa avsökningslinje fortskrider därefter med användning av de
lutningar som är lagrade i nämnda vektorlutnings-PROM. Som framgår
av fig. 22A är de Y-intercept-lägen eller -värden för vilka stràlen
skall slås till eller från lagrade i en s.k. register-stack 91 av
typen "först in, först ut" (FIFO). Y-intercept-värdena för varje
avsökningslinje införes i tur och ordning i successiva "Y-register"
i stacken, varvid det första eller lägsta Y-värdet placeras 1 det
nedersta Y-registret och successivt högre Y-värden i successivt
högre register. Det högsta Y-värdet i avsökningslinjen flaggas med
en ENDSC-bit (svep-slutbit) för att ange att svepet kan återstäl-
las. Utgångssignalen från det nedersta Y-registret i stacken
omvandlas till ett analogt värde i.en digital/analog-omvandlare 92 i
teckengeneratorn 7Ä. Teckengeneratorn har även en rampgenerator 93
som alstrar en med tiden likformigt stigande utgångssignal. En
jämförare 9U, som är ansluten för att ändra tillståndet för en
vipp-omkopplare 95, slår till eller ifrån CRT-strålen när rampgene-
ratorns utgångssignal når ett analogvärde lika med D/A-utsignalen
och indexerar stacken 91 att anropa eller infordra det näst högsta
Y-intercept-värdet. Om nämnda ENDSC-bit är "till" när en stràle-om-
koppling sker så att en signal förefinns på ledningen 96, kommer
rampgeneratorn 93 att återställas för att alstra en Y-avlänknings-
spänning som är strax under Y-avlänkningsspänningen för nästföljande'
10
15
20
25
30
35
NO
446 705
29 a e.
e Y-intercept-värde. Härigenom undviker man överdrivet stort åter-
gångssvep och ökas utgångshastigheten. CRT-strålen återställes
sålunda ej till tecknets eller "em-kvadratens" (M-kvadratens)
baslinje} den återställes istället till den lägsta erforderliga
nivån för nästa avsökningslinje och behöver ej drivas två gånger
över ett utrymme där den ej kommer att slås till.
Rampgeneratorn 93 bringas att snabbt minska sin utgångsspänning
i en konstant takt när en signal förefinns på dess återgångssvep-in-
gång., Denna âtergângssvep-signal stannar kvar till dess att ut-
gångssignalen från ramp-generatorn har fallit under det lägsta
Y-interoeptvärdet för nästa avsökningslinje. Atergångssvepsignalen
alstras av en logikkrets som innehåller en OCH-grind 97, en inverte-
rare 98 och en vippa 99 som tar emot en ingångssignal från jämföra-
ren 9N och ENDSC-signalen på ledningen 96. W _
Återgàngssveplogikens verkningssätt âskâdliggöres i fig
Denna figur visar den CRT-Y-avlänkningsspänning som alstras av
rampgeneratatorn 93 under ett flertal svep över nämnda "Q" i enlig-
het med fig. 15. Vid början av det första svepet H3 införas
Y-intereept-värdena Y6 och Y7 i det lägsta resp. det näst lägsta
Y-registret i FIFO-stacken 91. Eftersom utsignalen från rampgenera-
torn startar i en punkt något under den analoga spänning som är
ekvivalent med Y6, ger jämföraren 9H ingen utsignal. Men när
Y-avlänkningsspänningen når värdet Y6 avger jämföraren 9U en signal
som slår om vippomkopplaren 95 från FRÅN till TILL och infordrar
nästa Y-värde, Y7, från FIFO-stacken 91. I-avlänkningsspänningen
fortsätter rampen uppåt till dess att den när en spänning ekvivalent
med Y7. Eftersom nästa Y-värde, Y8, är betydligt lägre än Y-avlänk-
ningsspänningen, fortsätter Jämföraren 94 att alstra en signal till
dess att rampgeneratorns utspänning har minskats. Eftersom en
ENDSC-bit är förknippad med Y7, förefinns en signal pá ledningen
96. Utsignalen från jämföraren QH och signalen på ledningen 96
triggar OCH-grinden 97 och 1-ställer vippan 99 för alstring av en
återsvepsignal. När utgångssignalen från rampgeneratorn 93 har
fallit under värdet Y, faller utsignalen från jämföraren 9U och
återställer vippan 99 genom inverteraren 98. Detta medför att
àtersvepsignalen elimineras och att rampspänningen tillåts att stiga
längs rampen på svepet HU. Y-avlänkningsspänningen kommer att
snabbt nå värdet Y8, vilket medför att jämföraren 9% återigen ger en
utgángssignal som slår om stràlen från Falu till' nu.. strålar; slås
22B.
ifrån igen när Y-avlänkningsspänningen när Y9, slås till när den nárl
10
15
20
25
30
35
ÄO
' 446 705
3ø
Y10 och slås ifrån igen när den när Y11. Eftersom en ENDSC-bit är
förknippad med Y11, upprepas återsvep-proceduren och svepet H5
påbörjas. f _
Av-den ovan lämnade beskrivningen av verkningssättet framgår
att den övre och den undre gränsen för strålens väg i varje särskilt
svep ungefär motsvarar det lägsta och det högsta Y-interceptvärdet i
detta svep; m.a.o. den undre och den övre gränserna för tecknets
skärningspunkter. I
Fig. 23 visar vad som går in till och ut från kodomvandlaren
70.
och signalerna till och från teokengeneratorn 7U visas till höger.
Dessa signaler definieras enligt följande: I
XDB - 16-bits dataord som definierar det tecken som
skall avbildas mottages parallellt från RAM 72.
3 styringångar, vilkas tillstånd bestämmas av
kalkylatorn 50, initierar och styr operationer i
kodomvandlaren. f
En styringångssignal som härrör från kalkylatorn
50 används för att fullständigt återställa
kodomvandlaren oberoende av tillstånden för alla
andra signaler. I
Data-insignaler uppträder vid mottagning av en
XMBS-signal. 'Kodomvandlaren övertar då kontrol-
len av den s.k. "handskakningsoperationen" och
avger en signal på CYCREQ så snart den behöver
ett dataord. Ordet lås-lagras när datakällan
svarar med en signal på CYCACK, och CYCREQ-signa-
len faller.
När kodomvandlaren har fullbordat behandlingen av
ett tecken antar den ett "ledig"-tillstànd till
dess att teckengeneratorn sänder en signal på
ledningen EMPTY. Kodomvandlaren avger då signa-
len på EOC till dess att XBMS-signalen, som anger
data-insignal, avlägsnas.
.11-bits dataord som representerar intercept-vär-
. den eller strål-omkopplingspunkter överföres till
¿teckengeneratorn i serieform.Lff "
'Kodomvandlaren alstrar en 5 Män klocksignal,
vilken tillföres till teckengeneratorn för att
XBMS -
XRST -
cvcnso -
cïcicx -_
EOC -
SDATA -
Élssncx « .
synkronisera bitarna i utgångs-dataordet (SDATA).'
Signalerna till och från hjälp-databussen 54 visas till vänster
10
15
20
25
30
35
40
-XBMS (signalerna 0, 1, 2) samt XRST.
gnaler för att styra kodomvandlarens funktion.
446 705
31 i i
Om utgångs-dataordet hänförde sig till tecknet
högsta konturkurva i denna punkt, vidarebefordras
en signal till teokengeneratorn 7H på denna
ledning för att avsluta svepet.
Teokengeneratorn infordrar data genom att till
föra en signal på DATRQ.
med en signal på DATAV när ett utgångsdataord
finns tillgängligt. Databitarna sändes då på
SDATA under de därpå följande 11 klockperioderna
och signalen på DATAV faller.
Det "vita fältet" på ett teekens framkant under
kastas skaloperation i kodomvandlaren. Fältets
bredd överföras till teokengeneratorn såsom en
serie pulser. Varje puls motsvarar en förskjut-
ning av ett linjesvep. Sido-referenslinjen kan
förskjutas bort från eller i riktning mot det
närmast föregående tecknet. Fältets bredd och
riktningen anges i teckendata. Pulser uppträder
på STEPUP för en stigande sido-referenslinje och
på STEPDN för ett underskuret tecken. Pulserna
uppträder i början av teckenbehandlingen innan
några dataord tillföras till teokengeneratorn.
Teckengeneratorn avger en EMPTY-signal när dess
utgångsbuffert är tom. Denna signal används av
kodomvandlaren för att bestämma när ett tecken
har blivit fullständigt utritat.
Fig. 2% är ett blockschema som visar kodomvandlarens komponen-
ter. Komponenten 100, som kallas "huvudstyrorgan", visas uppdelad i
underkomponenter i fig. 25. Styrorganet 100 tar emot 16 ingångssig-
naler från en styr-avkodare 102 och fyra ingàngssignaler motsvarande
Avkodaren 102 alstrar de 7
styr-ingångssignalerna ur 8 signaler, vilka representerar start-ord
ooh styr-bytes vilka mottages från en ingångsbuffert 10U. Data från
de 16 XDB-linjerna inmatas till och kvarhålles i ingångsbufferten .
Huvudstyrorganet, som visas i fig. 25, alstrar H6 utgångssig-
Dessa signaler
ENDSC -
DATRQ 7-
DATAV Kodomvandlaren svarar
STEPDN -
STEPUP*
EMPTY -
tillföres till de olika logikelementen i omvandlaren för att på känt
sätt släppa igenom och kvarhålla signalerna i en förutbestämd
ordningsföljd. Styrorganet innefattar en tillstånds-PROM 106 vilken
bestämmer nästa tillstånd för kodomvandlaren i Jämförelse med det
10
15
20
25
.30
äs
H0
f dess styringångar tvingar den därtill.
lstyrsignalerna, i princip från avkodaren 102.
446 705
32
aktuella tillståndet och tillstånden på 16 styr-ingångar. Nämnda
tillstånds-PROM adresseras med U signaler som mottages från en
multiplexer 108 och 5 signaler som mottages_från en låskrets 110.
Vad som går ut från nämnda tillstånds-PROM tillföres till låskretsen
110, vilken i sin tur är ansluten till en tillståndsavkodare 112 och
en “pseudo"-tillstånds-PROM 11U.
Denna pseudo-tillstånds-PROM 11H kan modifiera sitt utgångs-
tillstånd under en processor-nykel om det rådande tillståndet och
Förutom tíllstánds-utgångs-
signalen från låskretsen 110 mottar pseudo-tillstànds-PROM'en de H
Av de 8 utgångsresul-
taten från pseudo-tillstånds@PROM 11ü avkodas 5 i en pseudo-till-
stånds-avkodare för alstring av 2ß styr-utgångssignaler.
Vektorbehandling: Fem parametrar lagras för vektorbehandling.
Dessa är följande: 1
(1) Intercept-värde (11 bitar). Intercept-värdet, som är
lagrat i intereept-minnet 120, är Y-värdet av på varandra följande
vektorändar kring en kontur. Sålunda:
Yo = AY startpunkt ( AXN, AI" är den mte vaktar-n)
Y. _ Yo +/- .Ayo i
Y2 = Y, +/- .A21
YN : YN_1 +/- .ÅYN_1.
(2) AX-värde (H bitar). AK-värdet, som är lagrat i AX-minnet
122, är det horisontella avståndet från högra änden av den aktuella
vektorn. Man har sålunda för successiva rutnätlinjeberäkningar:
pAX = AXN (ny vektor börjar här)
JÅX = AX - 1 )
) minskade i efterhand
.fAx='¿x-1)
= 1 (slut på vektorn).
(3) _A1-värde (5 bitar). Värdet .AX, som är lagrat i ¿SY-min-
net 12H, är ungefär lika med det vertikala avståndet från högra
änden av den aktuella vektorn. De fyra mest signifikanta bitarna
10
15
20
25
30
35
H0
A446 705
33
ßflß Såflvm insånssvävdet på AYN een den minst signifikanta biten
införes medelst en uppslagstabell för att förbättra noggrannheten.
(U) Förtecken-biten (1 bit). Förtecken-biten, som är lagrad i
styrbit-minnet 126, är noll för en vektor i den ena kvadranten
(t.ex. den övre) och ett för en vektor i den andra kvadranten (t.ex.
den undre). 6
(5) Giltighetsbit (1 bit). *Giltighetsbiten, som är lagrad i
styrbit-minnet 126, är 0 för ett intereept-värde som är ett nytt
startpunktvärde Y utan någon vektor-modifiering och 1 för ett
modifierat intercept-värde som kan användas för beräkning av ett
utgàngsvärde.
Med undantag för buss-slingorna A, B och C, vilka innehåller
interceptminnet 120, en ackumulator 128 och ett korrektionsminne
130, ignoreras förteoknet och endast positiva värden beaktas.
Förteokenbiten införas i aokumulatorn där så erfordras.
Beräkningen börjar med ett startpunktvärde Y som lagras i
interoept-minnet 120, och AK-minnet 122 kvarhåller förskjutningen
till början av den första vektorn, varvid giltighetsbiten är noll-
ställd. Allteftersom var och en av rutnätlinjerna behandlas,
nedräknas AX-minnet; när det når värdet "1" signalerar den efter en
vektor-byte. Intercept-minnet 120 uppdateras med AI-värdet och AX
och .AY lagras. Giltighetsbiten 1-ställes, så att data blir till-
gängliga för utmatning¿ Denna beräkningsprocess åskådliggöres i
fig. 26. Vid efterföljande rutnät-linjer nedräknas AX-minnet 122
och 'AY minskas med utgångsvärdet från en vektorlutnings-PROM 129.
Denna PROM adresseras med AX och 25Y och avger ett normaliserat
AY-värde, Sy. Detta värde .åy inverteras av en interpolations-PROM
132 som vid detta arbetssätt endast tjänstgör som en komplemente-
rande buffert. Detta utgångsresultat adderas sedan till AY i en
adderare 133 och återställes till AY-minnet 124.
Samtliga kodomvandlarminnen är uppbyggda av 16 "djupa" direkt-
aocessminnen (RAM). Dessa RAM adresseras parallellt från ett 4-bit
16 djupt FIFD-register i enlighet med vad som framgår av fig. 20.
Detta register innehåller RAM-adresserna för de aktuella konturerna
i ordningsföljd enligt ökande intercept-värde. Nämnda FlFO drivs
normalt med sina utgångar anslutna till sina ingångar, så att
För varje vektor-processoperation
s utgångsregister ooh den föregående
adresserna återcirkuleras.
klookas en adress in i FIFO'
adressen laddas på FIFO's ingång. .
Nya startpunktadresser kan införas i slingan från ny-adress-
10
15
20
25
30
35
H0
446 705
31:
-räknaren och tillfogas till FIFO-stacken. Vid kontur-slutpunkterna
återladdas ej adressen i FIFO och den raderas därför från stacken.
Från början är N-bits ny-adress-räknaren inställd på en maximal
räkneställning av 15 och räknas ned för varje inträffande start-
punkt. Varje RAM-plats som innehåller konturinformation (d.v.s.
adress, finns i FIFO-stacken) har biten “ej ledig" 1-ställd. Biten
_ "ej ledig" (1 bit) som är lagrad i styrbit-minnet 126, är 0 för en
tom RAM-position och 1 för en upptagen position. Én konturslut-
-styrkod medför att biten "ej ledig" återställes till 0.
När 16 konturer uppträder i ett tecken, kommer ny-adress-räkna-
ren att ha nedräknats till noll. Alla eventuella ytterligare
startpunkter måste föregås av åtminstone ett lika stort antal
konturslut-koder, eftersom ej flera än 16 konturer kan behandlas pà
en och samma gång av kodomvandlaren. Vid mottagning av en dylik
konturstart-kod adresserar huvudstyrorganet RAM-positionerna sekven-
siellt genom att nedstega ny-adress-räknaren till dess att en adress
med biten "ej ledig" 0-ställd påträffas. Denna adress införes då i
FIFO-stacken och används för den nya konturen.
Denna FIFO kan följaktligen kvarhålla en stack av variabel
längd med ej konsekutiva värden vilka motsvarar RAM-adresserna för
de aktuella konturerna. Den ordningsföljd i vilken startpunktkoder
och vektorkoder uppträder i teckendata säkerställer att adresserna
införes i stacken och sålunda tillföres till RAM-minnena i korrekt
ordningsföljd för att ge ökande intercept-värden på utgàngenr
Det nedersta kontur-làsorganet är ett N-bits register som
kvarhåller RAM-adressvärdet för den aktuella nedersta konturen.
uppdateras när konturer startas under de befintliga eller när den
befintliga nedersta konturen är avslutad och den närmast högre blir
den nedersta. Låsorganets utsignal jämföras fortlöpande med den
aktuella RAM-adressen, och när de är identiskt lika sänds en styr-
signal till huvudstyrorganet, vilken signal anger att en avsöknings-
linje just har fullbordats.
Detta RAM-adresseringssystem erbjuder en mycket snabb och
flexibel metod att cykliskt behandla ett variabelt antal konturer
under upprätthållande av en korrekt drdningsföljd utan några utskju-
tsnde.delar vid linjernas ändar. . c
Skal-anpassning: Ett värde representerande teckenbredden i
punkter inmatas i ett skal-organ 136 innan behandlingen av vektorn
påbörjas. Skal-organet har till uppgift att horisontellt skal~an-
passa tecknet genom bestämning av den punkt i vilken Y-värden skall
Det
10
15
20
25
30
35
H0
446 705
35
vidarebefordras till utgångsbufferten 138 för serie-överföring till
teckengeneratorn. Skal-organet 136 informerar huvudstyrorganet 100
om huruvida det skall beräkna nästa rutnätlinjevärden eller mata ut
de aktuella Y-värdena. Om Y-värden skall tillföras till utgángsbuf-
ferten tillhandahåller det antingen interpolationsadressen eller
medelvårdesbildnings-skalfaktorn i enlighet med vad som kommer att
framgå av det följande. e
Skal-organet arbetar med mycket större upplösning än resten av
kodomvandlaren, detta för att säkerställa stor noggrannhet. Den
använder 16 gånger så stor upplösning som vektorernas, vilket är U
gånger den upplösning som erfordras för interpolering av vektorerna
för förstoring till.ett stort antal punkters storlek. Om vektorupp-
lösningen är X linjer/"em"(M) så arbetar skal-organet med 16X
linjer/"em". Skal-organet approximerar sålunda till bråkdelen
16X/W, vilket motsvarar antalet skalorgan-linjer för varje erforder-
lig utgångslinje. Detta uppnås genom att man repetitivt väljer
växelvis heltalet under 16X/W och heltalet över 16X/H olika antal
gånger. En 4-fas-cykel används, varvid varje heltal uppträder två
gånger och med olika antal repetitioner i varje fas. Om antalet
repetitioner representeras av talen No, N1, N2 och N3 och
heltalet under 16X/W representeras av M, så kan approximationen
uttryckas: '
16X (No x M)+(N1 x (M+1))+(N2 x M)+(N3 x (M+1))
__-=
W N1+na+n3+uq
Ett speciellt fall inträffar när storheten 16X/N själv är ett
helt tal, så att endast ett enda heltal används, varvid antalet
repetioner är utan betydelse.
Skal-organet visas i detalj i fig. 30. Bredd-registret inne-
håller det konstanta breddvärdet som tillhandahållas av kalkyla-
torn. Detta värde används för att adressera två PROM-uppslagstahel-
ler. Den ena innehåller antalet linjer (M) mellan två på varandra
följande utgångslinjer, vilket antal är lika med hela tal under och
över den erforderliga bràkdelen. Den minst signifikanta av de båda
bitar som definierar fasnumret (P) används i adressen för val mellan
de båda heltalen för varje inställt bredd-värde. Den andra tabellen
innehåller antalet repetitioner (N). Denna tabel adresseras dess- U
10
15
20
25
30
35
UD
446 705
as
utom av båda bitarna i fasnumret, så att man tillåter olika antal
repetitioner i alla fyra faserna..
Vad som erhålles ur tabellen över antalet linjer vidarebeford-
ras via en adderare och grenas till de H minst signifikanta bitarna
som är kvarhållna i rest-låskretsen och de fvra mest signifikanta
bitarna som inmatas till linjeräknaren. Värdet (L) i linjeräknaren
motsvarar antalet linjer vid vektorupplösningen mellan två på
varandra följande utmatningar, eftersom elimineringen av de fyra
minst signifikanta bitarna effektivt sett innebär division med 16.
Vad som erhålles ur tabellen över antalet repetitioner inmatas i
repetitionsantal-räknaren när dess räkneställning (R) når värdet
noll.c Sålunda är det i tabellen lagrade värdet en enhet mindre än
antalet erforderliga repetitioner.
Skal-organets arbetssätt framgår av flödessohemat i fig. 31.
'Skal-organets funktion initieras vid början av varje tecken, och det
triggas därefter till individuella cykler på order från huvudstyr-
organet, som i sin tur avkänner "ut-linje"-styrsignalen. å
Användning av skal-organet i kodomvandlarens operationer
åskådliggöres i det i fig. 27 visade flödesschemat. Skal-organet
genomför en cykel vid slutet av behandlingen av varje rutnät-linje
för tecknet och efter utsändning av värdena för varje utgångs-svep.
Det avkända tillståndet för utgångs-linjesignalen bestämmer vilken
slinga som genomgås. Härav följer att varje skal-organ-cykel efter
en rutnät-linjeberäkning stegar ned linjeräknaren och varje
skal-organ-cykel efter en utmatningsoperation laddar linjeräknaren.
Vid små punkt-storlekar kommer "nej"-slingan att användas oftare,
eftersom ett flertal rutnätlinjer inträffar mellan de utgående
linjerna. Vid stora punkt-storlekar används å andra sidan "ja"-
-slingan oftare, eftersom ett flertal utgångslinjer inträffar mellan
rutnät-linjerna.
Interpolationsadressen tillföres helt enkelt från de mest
signifikanta bitarna i rest-låsorganet. Detta specificerar vilken
av interpolationslinjerna som erfordras.
Den medelvärdesbildande skalfaktorn bestämmer den "vikt" som
åsätts åy-värdena vid alstringen av korrektionstermen. "Viktningen"
beror_pà det totala antal värden för vilka medelvärde skall bildas
foch vilken speciell Ãy inom detta totala antal som är under behand-
ling. Vid de små utgångs-storlekar vid vilka medelvärdesbildning
utföres är en mycket stor noggrannhet obehövlig. Sålunda används
endast två bitar för att definiera det totala antalet värden (linje-
10
15
20
25
30
35
NO
iiifif? 705
37
räknarens ingång ignorerar den minst signifikanta biten) och utgång-
en från línjeräknaren bestämmer vilken speciell_§y som är under
behandling. En PROM-uppslagstabell adresseras av dessa sex linjer
och en av åtta skalfaktorer väljas. ,
Interpolerad utgång: Vid punkt-storlekar för vilka interpola-
tion används, avgrenar kodomvandlaren utgångsvärden_som beräknats
genom linjär interpolation mellan rutnätlinjerna. Denna interpola-
tionsprocess åskàdliggöres i fig. 28.
Intercept- eller skärningspunktminnet 120 innehåller absoluta
värdet på Y för slutet av den aktuella vektorn. Ett AY-minne 12k
innehåller skillnaden mellan íntercept-värdet och Y-värdet vid den
senaste rutnätlinjen. Skal-organet 136 avger en interpolatíonsad-I
ress till interpolations-FROM 132, vilket minne även tillföres
värdet Ãy från vektorlutnings-PROM 129. Utgången från interpola-
tions-PROM 132,-åy1, är en proportion av dy vilken är avpassad
till interpolatíonsläget. Detta värde subtraheras från AY i addera-
ren 13N och uppträder på D-bussen. Det tillföres till ackumulatorn
-128 via A-bussen, och B-bussen överför utgångsdata från intercept--
minnet 120. C-bussen överför det korrekta utgångsvärdet till
utgångsbufferten 138.
Utgàngsbufferten håller kvar det beräknade värdet till dess att
teckengeneratorn meddelar att den är klar att ta emot det. Serie-
-överföringen genomföras därefter, och nästa utgàngsvärde-beräkning
kan börja. Om det överförda värdet är det som gäller den högsta
aktuella konturen "flaggar" kodomvandlaren teckengeneratorn efter
överföringen på ENDSC-styrledningen. * _
Medelvärdes-utgång: Vid små punktstorlekar, där det finns mer
än tre rutnätlinjer mellan två på varandra följande utgångs-linjer,
kan en medelvärdesbildande algoritm användas för att beräkna Y-ut-
gângsvärden. Korrektionsminnet 130 används för detta ändamål.
Detta minne innehåller ett korrektionsvärde som appliceras på värdet
1 intercept-minnet 120 för alstring av utgångsvärdet. Det medelvär-
desbildande systemet ignorerar interpolationslinje-adresser och ger
utgångsvärde andast för ett helt antal rutnätlinjevärden.
Beräkningen baseras på ekvationen för det aritmetiska medelvär-
det av värdena Yo till Yn_1, vilken ekvation lyder:
n-1 -
2
m=0
- 1 _ 2. _ .fi _
' [Hate Y1) * n m1 Ya) * '_" * nWn-1 YrÜ] 'fïnf
n
10
15
20
25
30
35
40
446 705
38
Uttrycket inom hakparenteserna är korrektionstermen.
det beräknas med utgångspunkt från Y-värdena på varje rutnätlinje
och bildande av medelvärdet av dessa mellan utgångslinjerna.
Sålunda blir n-1 antalet rutnätlinjer mellan utgångslinjerna och de
olika termerna är då ây-utgångsvärdena från vektorlutnings-PROM 129.
Tillämpningen av ekvationen illustreras i fig. 32, där utgångs-
linjen vid G3 skall beräknas. Intercept-minnet innehåller värdet Y
för vektor-änden på G5 genom hela operationen. Sålunda har man:
Medelvär-
Yn = Y - AI (interoeptminnet minus Y-minnet)
Yo-Y1 = _áy° (vektorlutning FROM-utgång på G1)
Y1_Y2V= SY1 ( . n n n G2)
Y2_Y3 = åyz ( u u n G3)
n = 3
Medelvärdet på Y för linjerna Go, G1, G2 blir
5Y° + BY 4 6Y + (Y-AY)
ou|-x
who
1 2
Det programmerbara korrektions-läsminnet (FROM) 1H0 tar ut-
gångsvärdet Äy från vektorlutnings-PROM 129 och multiplicerar det
med en faktor som är ungefär lika med den tillämpliga föregående
bråkdelen. Denna väljes medelst ett mindre FROM - kallat faktor-
val-PROM - i skal-organet 136 som adresseras med antalet rutnätlin-
jer mellan utgångslinjerna (divisorn) och det aktuella linjeantalet
(dívidenden). Den tre-bit-kod som tillåter val av åtta skalfaktorer
avges av nämnda faktorval-PROM till nämnda korrektíons-PROM.
Korrektionstermen är uppbyggd genom addition av utgångsvärdena
från ett korrektions-PROM 1Ä0 till innehållet i korrektionsmínnet
130. Detta minne raderas varje gång en utgångslinje uppträder och
börjar därefter bygga upp korrektionen för nästa utgångsvärde.
PROM-utgångsvärdet på B-bussen adderas alltid till korrektíons-min-
nesutgângsvärdet på A-bussen medelst aokumulatorn 128. Värdet i
korrektionsminnet ändrar tecken så snart konturen växlar kvadrant.
Korrektionsminnet innehåller endast åtta bitar, men det ignorerar
den minst signifikanta biten på C-bussen eftersom denna noggrannhet
ej är erforderlig när det gäller de små punktstorlekar som det här
är fråga om. Effektivt sett har det sålunda nio bitar och det har
ett spill som begränsar om det gäller mycket stora förskjutningar.
_Det värde som lagras i interoept-minnet 120 är vanligtvis ej
Yn i ekvationen ovan utan det är slutet på den aktuella vektorn.
Omedelbart före utmatningen justeras därför korrektionsminnet med
10
15
20
25
30
35
ÅO
446 705
39
det aktuella värdet AX så att hänsyn tas till avvikelsen.
Utgångsvärdet beräknas slutligen i ackumulatorn 128 genom att
tillföra korrektionsminnets utgângsvärde på A-bussen och inter-
cept-mínnets utgångsvärde på B-bussen. C-bussen överför det korrek-
ta utgångsvärdet till utgångsbufferten 138.
Som ovan nämnts kvarhåller utgångsbufferten det beräknade
värdet till dess att teckengeneratorn ger signal att den är klar att
ta emot detsamma. Serie-överföringen genomföras därefter, och nästa
utgàngsvärde-beräkning kan börja. Om det överförda värdet hänför
sig till den högsta aktuella konturen, "flaggar" kodomvandlaren till
teckengeneratorn efter överföringen på ENDSC-stvrledningen.
Ehuru de anordningar som ovan beskrivits utgör föredragna
utföringsformer av uppfinningen, ligger det inom en fackmans kompe-
tens att modifiera anordningarna ifråga på olika sätt utan att
uppfinningstanken eller ramen för uppfinningen frångås. 'Alla sådana
varianter ligger inom uppfinningens ram om de täokes av bifogade
patentkrav.
Claims (7)
1. Sätt att koda tecken i relation till en normaliserad kod- ningssats av första och andra koordinater, varvid ett tecken är definierat av åtminstone en kontur (1-2U), med lagring av de kodade tecknen för efterföljande alstring av önskade tecken ur de motsva- rande kodade och lagrade tecknen (6U, 72), vilket sätt är k ä n - n e tze c_k n a t av att det innefattar förfaringsstegen: (a) att man lagrar digitala tal vilka definierar nämnda första och andra koordinater för en startpunkt för en teckenkontur (25); samt (b) att man lagrar digitala tal som representerar ett flertal rätlinjiga vektorer vilka sträcker sig i serie efter varandra ut- efter tecknets kontur från nämnda startpunkt, varvid varje vektor representeras av ett första digitalt tal som definierar den första koordinatens avstånd och ett andra digitalt tal som definierar den andra koordinatens avstånd från den ena änden av vektorn till den andra (1-24). _
2. Sätt enligt kravet 1, k ä n n e t e c k n a t av att varje vektor utefter hela sin längd befinner sig inom ett förutbestämt avstånd från konturen (30-32).
3. Sätt enligt kravet 2, k ä n n e t e c k n a t av att längden av var och en av de i serie efter varandra liggande vekto- rerna är maximerad inom föreskrivna gränser för nämnda första och andra digitala tal som representera vektorn ifråga (30-32). U.
Anordning för genomförande av sättet enligt kravet 1, inne- fattande ett teckenlagringssystem för insättning och användning i en sättmaskin för automatisk alstríng av tecken, k ä n n e t e c k - nia d av att digital information är lagrad vilken definierar varje tecken genom åtminstone två konturer på en normaliserad kodningssats av första och andra koordinater (6U); varvid den digitala informa- tionen som definierar varje tecken innefattar (a) digitala tal som definierar den första och den andra koordi- naten för startpunkterna för åtminstone två konturer (25, 26); och (b) digitala tal som definierar ett flertal rätlinjiga vektorer vilka sträcker sig i serie efter varandra utmed tecknets konturer från nämnda startpunkter, varvid varje vektor har ett första digi- -talt tal som representerar den första koordinatens avstånd och ett Sandra digitalt tal som representerar den andra koordinatens avstånd från den ena änden av vektorn till den andra (1-2N).
5. Anordning enligt kravet U, k ägn n e t e c k n a d av att 446 705 41 åtminstone en av startpunkterna är representerad såsom ett digitalt tal vilket definierar det horisontella avståndet från den vänstra sidan av koordinatsatsen till startpunkten och ett annat digitalt tal som definierar det vertikala avståndet från tecknets baslinje till startpunkten (25a, 25b).
6. Anordning enligt kravet N, k ä n n e t e c k n a d av att åtminstone en av nämnda startpunkter är representerad såsom ett digitalt tal vilket definierar det vertikala avståndet från den övre kanten av de: naminena utsträckta M-mellanslaget till startpunkten, och ett annat digitalt tal definierar det horison- tella avståndet frân tecknets vänstra referenslinje till start- punkten (27a, 27b).
7. Anordning enligt kravet N, k ä n n e t e c k n a d av att åtminstone vissa av nämnda tecken dessutom är representerade genom digitala tal som definierar en styrkod som anger en av tecknets ändpunkter (28).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/905,451 US4199815A (en) | 1978-05-12 | 1978-05-12 | Typesetter character generating apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
SE7904009L SE7904009L (sv) | 1979-11-13 |
SE446705B true SE446705B (sv) | 1986-10-06 |
Family
ID=25420841
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE7904009A SE446705B (sv) | 1978-05-12 | 1979-05-08 | Sett och anordning att koda tecken i relation till en normaliserad kodningssats av forsta och andra koordinater |
SE8501905A SE456049B (sv) | 1978-05-12 | 1985-04-18 | Settmaskinanordning for automatisk alstring av tecken |
SE8502470A SE456050B (sv) | 1978-05-12 | 1985-05-20 | Settmaskinanordning for automatisk alstring av tecken |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE8501905A SE456049B (sv) | 1978-05-12 | 1985-04-18 | Settmaskinanordning for automatisk alstring av tecken |
SE8502470A SE456050B (sv) | 1978-05-12 | 1985-05-20 | Settmaskinanordning for automatisk alstring av tecken |
Country Status (8)
Country | Link |
---|---|
US (1) | US4199815A (sv) |
JP (6) | JPS54149522A (sv) |
CA (3) | CA1105619A (sv) |
DE (3) | DE2954383C2 (sv) |
FR (1) | FR2425677B1 (sv) |
GB (2) | GB2089179B (sv) |
IT (1) | IT1116588B (sv) |
SE (3) | SE446705B (sv) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4338673A (en) * | 1978-12-05 | 1982-07-06 | Compugraphic Corporation | Phototypesetting system and method |
JPS5727343Y2 (sv) * | 1979-02-02 | 1982-06-14 | ||
US4307377A (en) * | 1979-11-09 | 1981-12-22 | Bell Telephone Laboratories, Incorporated | Vector coding of computer graphics material |
US4491836A (en) * | 1980-02-29 | 1985-01-01 | Calma Company | Graphics display system and method including two-dimensional cache |
US4492956A (en) * | 1980-02-29 | 1985-01-08 | Calma Company | Graphics display system and method including preclipping circuit |
GB2074259B (en) * | 1980-04-12 | 1983-08-17 | Automotive Prod Co Ltd | Rotation sensitive drum brake |
DE3125735A1 (de) * | 1980-06-30 | 1982-03-18 | Canon K.K., Tokyo | "reproduktionsanlage" |
US4331955A (en) * | 1980-08-07 | 1982-05-25 | Eltra Corporation | Method and apparatus for smoothing outlines |
JPS5739963A (en) * | 1980-08-22 | 1982-03-05 | Photo Composing Mach Mfg Co Ltd | Memorizing method for character, figure and the like and photocomposing device |
US4404554A (en) * | 1980-10-06 | 1983-09-13 | Standard Microsystems Corp. | Video address generator and timer for creating a flexible CRT display |
JPS57169791A (en) * | 1981-04-10 | 1982-10-19 | Shaken Kk | Method of memorizing character and figure and phototypesetter |
US4566126A (en) * | 1982-04-30 | 1986-01-21 | Fuji Electric Company, Ltd. | Pattern discriminator |
US4550438A (en) * | 1982-06-29 | 1985-10-29 | International Business Machines Corporation | Retro-stroke compression and image generation of script and graphic data employing an information processing system |
US4555763A (en) * | 1982-07-01 | 1985-11-26 | Decision Data Computer Corp. | Method and apparatus for storage and accessing of characters, and electronic printer employing same |
JPS5949071A (ja) * | 1982-09-13 | 1984-03-21 | Dainippon Screen Mfg Co Ltd | 図形輪郭デ−タ圧縮方法 |
JPS5949655A (ja) * | 1982-09-14 | 1984-03-22 | Dainippon Screen Mfg Co Ltd | 2値図形パターンの輪郭データ作成方法 |
JPS59101969A (ja) * | 1982-12-01 | 1984-06-12 | Dainippon Screen Mfg Co Ltd | 2値画像パタ−ンのデ−タ処理方法及び装置 |
US4783829A (en) * | 1983-02-23 | 1988-11-08 | Hitachi, Ltd. | Pattern recognition apparatus |
DE3317842A1 (de) * | 1983-05-17 | 1984-12-06 | Mergenthaler Linotype Gmbh, 6236 Eschborn | Graphisches reproduktions- und seztverfahren von schriftzeichen |
DE3479254D1 (en) * | 1983-07-04 | 1989-09-07 | Karow Rubow Weber Gmbh | Method for automatically digitizing the contours of line graphics, e.g. characters |
JPH0613212B2 (ja) * | 1983-10-03 | 1994-02-23 | 株式会社写研 | 文字画像デ−タの処理方法 |
JPS6075978A (ja) * | 1983-10-03 | 1985-04-30 | Photo Composing Mach Mfg Co Ltd | 文字画像デ−タの処理方法 |
DE3572783D1 (en) * | 1984-02-21 | 1989-10-12 | Hell Rudolf Dr Ing Gmbh | Method and device for recording characters |
DE3419140A1 (de) * | 1984-05-23 | 1985-11-28 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Verfahren zur omnidirektionalen merkmalserkennung in einem sensorsehfeld |
US4688182A (en) * | 1984-09-10 | 1987-08-18 | Allied Corporation | Method and apparatus for generating a set of signals representing a curve |
EP0191134B1 (en) * | 1984-09-10 | 1991-12-18 | Linotype Company | Method for generating a set of signals representing a curve |
US4686632A (en) * | 1984-09-10 | 1987-08-11 | Allied Corporation | Method and apparatus for generating a set of signals representing a curve |
US4674059A (en) * | 1984-09-10 | 1987-06-16 | Allied Corporation | Method and apparatus for generating a set of signals representing a curve |
US4686633A (en) * | 1984-09-10 | 1987-08-11 | Allied Corporation | Method and apparatus for generating a set of signals representing a curve |
DE3585902D1 (de) * | 1984-09-10 | 1992-05-27 | Linotype Co | Verfahren zur erzeugung eines satzes von eine kurve darstellenden signalen. |
US4686636A (en) * | 1984-09-10 | 1987-08-11 | Allied Corporation | Method and apparatus for generating a set of signals representing a curve |
US4686634A (en) * | 1984-09-10 | 1987-08-11 | Allied Corporation | Method and apparatus for generating a set of signals representing a curve |
US4686635A (en) * | 1984-09-10 | 1987-08-11 | Allied Corporation | Method and apparatus for generating a set of signals representing a curve |
EP0175179B1 (en) * | 1984-09-10 | 1992-01-02 | Linotype Company | Method and apparatus for generating a set of signals representing a curve |
JPH078559B2 (ja) * | 1985-08-22 | 1995-02-01 | 大日本印刷株式会社 | ディスプレイ上での文字書体指定方法 |
JPS6280058A (ja) * | 1985-10-03 | 1987-04-13 | Canon Inc | 画像処理装置 |
JPS6282484A (ja) * | 1985-10-07 | 1987-04-15 | Canon Inc | 線形図形の変換方法 |
US5365599A (en) * | 1985-10-07 | 1994-11-15 | Canon Kabushiki Kaisha | Method and system of converting delineative pattern |
JPS62202274A (ja) * | 1986-02-28 | 1987-09-05 | Nec Yamagata Ltd | 電子機器の文字形状記憶方法 |
US4897638A (en) * | 1987-02-27 | 1990-01-30 | Hitachi, Ltd. | Method for generating character patterns with controlled size and thickness |
US4949281A (en) * | 1987-04-23 | 1990-08-14 | H. Berthold Ag | Method and apparatus for generating and producing two-dimensional graphic object by polynominal parametric curves |
JPH01181173A (ja) * | 1988-01-14 | 1989-07-19 | Toshiba Corp | ベクトルフォント輪郭描画方式 |
JP2634851B2 (ja) * | 1988-04-28 | 1997-07-30 | シャープ株式会社 | 画像処理装置 |
JP2650324B2 (ja) * | 1988-06-02 | 1997-09-03 | 株式会社リコー | 多値文字フォント発生システム |
ES2007960A6 (es) * | 1988-07-12 | 1989-07-01 | Ona Electro Erosion | Sistema de generacion en dos dimensiones de la geometria de un modelo por medio de vision artificial. |
US5018217A (en) * | 1988-09-26 | 1991-05-21 | Brother Kogyo Kabushiki Kaisha | Data converting apparatus having means for changing ornamental stroke end data of character outline |
AU624137B2 (en) * | 1988-10-03 | 1992-06-04 | Sun Microsystems, Inc. | Method and apparatus for image manipulation |
US5261032A (en) * | 1988-10-03 | 1993-11-09 | Robert Rocchetti | Method for manipulation rectilinearly defined segmnts to form image shapes |
US5086482A (en) * | 1989-01-25 | 1992-02-04 | Ezel, Inc. | Image processing method |
JP2752439B2 (ja) * | 1989-06-20 | 1998-05-18 | 株式会社リコー | 画像出力方法 |
JPH03224073A (ja) * | 1990-01-30 | 1991-10-03 | Ezel Inc | 位置合わせ装置 |
WO1991013427A1 (en) * | 1990-02-27 | 1991-09-05 | Seiko Epson Corporation | Method of generating dot signal corresponding to character pattern and device therefor |
JPH03296092A (ja) * | 1990-04-16 | 1991-12-26 | Ricoh Co Ltd | 画像表示装置 |
US5245679A (en) * | 1990-05-11 | 1993-09-14 | Hewlett-Packard Company | Data field image compression |
DE69328811T2 (de) * | 1992-10-20 | 2001-01-11 | Network Computing Devices, Inc. | Opcode abhängige Komprimierung für ein Window-System. |
US6295378B1 (en) | 1996-02-29 | 2001-09-25 | Sanyo Electric Co., Ltd. | Handwriting stroke information encoder which encodes handwriting stroke information by sampling |
US8121338B2 (en) | 2004-07-07 | 2012-02-21 | Directsmile Gmbh | Process for generating images with realistic text insertion |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3050581A (en) * | 1960-08-30 | 1962-08-21 | Bell Telephone Labor Inc | Line tracing system |
US3305841A (en) * | 1963-09-30 | 1967-02-21 | Alphanumeric Inc | Pattern generator |
US3735389A (en) * | 1970-02-24 | 1973-05-22 | Zeta Research | Digital graphic display apparatus, system and method |
BE791200R (fr) * | 1971-11-12 | 1973-03-01 | Western Electric Co | Appareil et procede pour transformer des informations numeriques en images graphiques et pour les |
US3800183A (en) * | 1972-06-08 | 1974-03-26 | Digital Equipment Corp | Display device with means for drawing vectors |
US4029947A (en) * | 1973-05-11 | 1977-06-14 | Rockwell International Corporation | Character generating method and system |
JPS5341017B2 (sv) * | 1973-06-06 | 1978-10-31 | ||
US3946365A (en) * | 1973-12-13 | 1976-03-23 | Bantner John A | Graphic symbol generator |
-
1978
- 1978-05-12 US US05/905,451 patent/US4199815A/en not_active Expired - Lifetime
-
1979
- 1979-03-19 JP JP3123279A patent/JPS54149522A/ja active Pending
- 1979-05-08 SE SE7904009A patent/SE446705B/sv not_active IP Right Cessation
- 1979-05-09 CA CA327,230A patent/CA1105619A/en not_active Expired
- 1979-05-09 CA CA327,231A patent/CA1105620A/en not_active Expired
- 1979-05-09 CA CA000327232A patent/CA1121056A/en not_active Expired
- 1979-05-10 IT IT48998/79A patent/IT1116588B/it active
- 1979-05-11 DE DE2954383A patent/DE2954383C2/de not_active Expired
- 1979-05-11 DE DE2953600A patent/DE2953600C2/de not_active Expired
- 1979-05-11 DE DE19792919013 patent/DE2919013A1/de active Granted
- 1979-05-11 FR FR7912107A patent/FR2425677B1/fr not_active Expired
- 1979-05-11 GB GB8134818A patent/GB2089179B/en not_active Expired
- 1979-05-11 GB GB7916520A patent/GB2020520B/en not_active Expired
-
1984
- 1984-01-20 JP JP59008399A patent/JPS59176048A/ja active Pending
- 1984-01-20 JP JP59008400A patent/JPS59170883A/ja active Pending
-
1985
- 1985-04-18 SE SE8501905A patent/SE456049B/sv not_active IP Right Cessation
- 1985-05-20 SE SE8502470A patent/SE456050B/sv not_active IP Right Cessation
-
1986
- 1986-03-04 JP JP61045508A patent/JPS61258285A/ja active Pending
-
1989
- 1989-01-24 JP JP1989006095U patent/JPH0224895U/ja active Pending
- 1989-02-13 JP JP1989014656U patent/JPH021787U/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2020520B (en) | 1982-11-17 |
DE2919013A1 (de) | 1979-12-06 |
IT7948998A0 (it) | 1979-05-10 |
SE456049B (sv) | 1988-08-29 |
JPS59176048A (ja) | 1984-10-05 |
JPS54149522A (en) | 1979-11-22 |
JPS59170883A (ja) | 1984-09-27 |
DE2953600C2 (de) | 1985-06-27 |
SE8502470D0 (sv) | 1985-05-20 |
GB2089179A (en) | 1982-06-16 |
CA1105620A (en) | 1981-07-21 |
FR2425677B1 (fr) | 1985-05-31 |
US4199815A (en) | 1980-04-22 |
FR2425677A1 (fr) | 1979-12-07 |
DE2919013C2 (sv) | 1989-04-27 |
SE456050B (sv) | 1988-08-29 |
CA1121056A (en) | 1982-03-30 |
SE7904009L (sv) | 1979-11-13 |
IT1116588B (it) | 1986-02-10 |
SE8501905D0 (sv) | 1985-04-18 |
GB2089179B (en) | 1982-12-08 |
DE2954383C2 (sv) | 1987-07-02 |
DE2954383A1 (sv) | 1985-03-21 |
SE8502470L (sv) | 1985-05-20 |
GB2020520A (en) | 1979-11-14 |
JPH0224895U (sv) | 1990-02-19 |
JPS61258285A (ja) | 1986-11-15 |
CA1105619A (en) | 1981-07-21 |
JPH021787U (sv) | 1990-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SE446705B (sv) | Sett och anordning att koda tecken i relation till en normaliserad kodningssats av forsta och andra koordinater | |
US4298945A (en) | Character generating method and apparatus | |
US4254468A (en) | Typesetter character generating apparatus | |
GB2033307A (en) | Digital typesetter | |
US4277835A (en) | Apparatus for recording and displaying or plotting graphs | |
KR880001307B1 (ko) | 문자패턴의 발생방법 | |
EP0392499A3 (en) | Apparatus for generating high-quality character pattern | |
EP0571170A2 (en) | Encoding method and decoding method | |
GB2093660A (en) | An image generator and decoder for use in an ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data | |
JPS62211692A (ja) | 異なるサイズ文字の作成方式 | |
SE437891B (sv) | Apparat for generering av tecken | |
KR900005901B1 (ko) | 문자화상 데이타의 처리방법 | |
KR900006731B1 (ko) | 바름체 문자로 빗김채 문자 인자방법 | |
JP2637921B2 (ja) | 文字記号発生装置 | |
KR900002811B1 (ko) | 문자, 화상 데이터의 압축방법 | |
JP2712220B2 (ja) | 印刷装置用画像イメージ発生装置 | |
JPH0691938A (ja) | 印刷制御装置 | |
JP3030998B2 (ja) | 文字発生装置 | |
JPH05257452A (ja) | 文字信号発生装置 | |
JP2911529B2 (ja) | 印刷装置 | |
JPS6133231B2 (sv) | ||
JP2762768B2 (ja) | アウトラインデータ描画装置 | |
JPH01249461A (ja) | フォント表現方式 | |
JP2010232858A (ja) | 画像処理装置及びプログラム並びに画像形成システム | |
JPH02252075A (ja) | 図形生成方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NUG | Patent has lapsed |
Ref document number: 7904009-3 Effective date: 19931210 Format of ref document f/p: F |