SE456049B - Settmaskinanordning for automatisk alstring av tecken - Google Patents
Settmaskinanordning for automatisk alstring av teckenInfo
- Publication number
- SE456049B SE456049B SE8501905A SE8501905A SE456049B SE 456049 B SE456049 B SE 456049B SE 8501905 A SE8501905 A SE 8501905A SE 8501905 A SE8501905 A SE 8501905A SE 456049 B SE456049 B SE 456049B
- Authority
- SE
- Sweden
- Prior art keywords
- character
- vector
- characters
- data
- value
- 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
HO
456 049
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ännetecknande 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.
maskinerna lagrar typmallar på fotografiska filmgaller.
De s. k. "analoga"
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 eflistort typslag-bibliotek i sättmaskinen begränsat endast
av kostnaden 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 líkformíga
tecken än de analoga maskinerna.
Ursprungligen, när digitala CRT-sättmaskiner först introduce-
Ü»
10
15
20
25
30
35
HO
456 049
3
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
7.000 rasterelement. 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 8H1
(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 åstadkommes 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 8U8 (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 ett
linjesegment är mindre än de tal som erfordras för att definiera de
absoluta adresserna.
Även i amerikanska patentskrifterna 3 305 BU1 och 3 H71 8U8
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
NO
456 049
U
(3) Anordnandet av en kod som anger att en vald linjestartkod-
adress eller linjeslutkodadress skall upprepas ett förskrivet antal
gånger.
Trots de olika tillvägagàngssätten för datareducering är
digitala stiltypmallar som åstadkommits i enlighet med vad som
beskrives i amerikanska patentskrifterna 3 305 BH1 och 3 H71 8H8
avsevärt mera kostnadskrävande än de fotografiska mallar som
används vid analoga CRT-sättmaskiner. Det finns två grundläggande
skäl för detta:
(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 937 (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
angivna nackdelarna. Detta ástadkommes genom att man kodar den
normaliserade teckenkonturen (till skillnad från storleksrelaterade
rad- eller kolumnlinjesegment av tecknet) med en serie av pá
varandra följande lutningar och 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.
är beskriven i publikationen Seybold Report, vol. 1, n:ris 12 och 13
(14 och 28 februari 1972), lagrar de absoluta koordinaterna för ett
Datareducering kunde åstadkommas
Denna maskin, som
antal punkter på tecknets kontur.
eftersom mellanliggande punkter pá konturen mellan lagrade punkter
antogs följa räta linjer mellan de lagrade punkterna.
10
15
20
25
30
35
U0
456 049
5
SEACO's CRT-sättmaskin Model 1601 och den i amerikanska patent_
skriften H 029 QU7 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-
tibn 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 305 8U1 och 3 H71 8fl8 ett
minimum av beräkningar, eftersom den information som erfordras för
att "rita" konsekutiva línjesegment (d.v.s. startadressen och
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 kodar deras
konturer i ett normalt rutnät av första och andra koordinater enligt
följande:
(1) En startpunkt i ett tecken väljes 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
U0
456 049
b
uppfyller de fyra krav som ovan specifioerats. 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
gdigitala tal vilka definierar varje vektor en begränsad storlek.
Vid en måttlig upplösning, exempelvis N32 enheter i "em"-kvadraten,
kan de utgöras av N-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.
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 teckenkonturerna för att
bestämma när katodstrálerörets strále eller laserstrálen skall "slås
till" eller "slås ifrån" .
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
De rätlinjevektorer som definieras av de
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
RO
456 049
7
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
fö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 1 anslutning till på
bifogade ritning med fig. 1 - 32 visade utföringsexempel. Pig. 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. Fig. 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. Pig. 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
insatts mellan de återstående punkterna i enlighet med uppfin-
ningen. Fig. U ä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. Pig. 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. Pig. 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
Fíg. 13 är ett
diagram som visar hur stiltyp och teckendata är arrangerade (regist-
rerade) på en flexskiva. Fig. 1U är ett diagram som i detalj visar
uppvisande flexskiva med sektorer och spår inritade.
10
15
20
25
30
35
HO
456 049
8 2
teckensöknings- och breddregistret i fig. 13. Pig. 15 visar versa-
len Q alstrad av vertikala "svep" på ett katodstrålerörs skärm PÅE =
1§¿ visar ett typiskt tecken som har sin kontur begränsad av rät-
linje-vektorer som skär vertikala avsökningslinjer. Pig. 16B visar
hur tecknet i fig. 16A avbildas med en speciell teckenbredd medelst
de vertikala avsökningslinjerna. Pig. 17A visar ett typiskt tecken
som har sin kontur begränsad av rätlinje-vektorer vilka skär verti-
kala avsökningslinjer. Pig. 17B visar hur tecknet i fig. 17A
avbildas med en speciell teckenbredd medelst de vertikala avsök-
ningslinjerna. Pig. 18 visar hur streck-ändpunkter (skärningsvär-
den) bestämmes genom interpolation ur kodade teckendata. Pig. 19
visar hur streck-ändpunkter (skärningspunktvärden) bestämmes genom
medelvärdesbildning ur kodade teckendata. Pig. 20 är en perspektiv-
bild av en CRT-sättmaskin med en del komponenter visade i punkt-
streckade linjer. Pig. 21 är ett blockschema över komponenterna i
den i fig. 20 visade sättmaskinen. Pig. 22A och 22B är blockschema
resp. signaldiagram som visar uppbyggnaden av och arbetssättet för
det i fig. 21 visade teckengeneratorelementet. Pig. 23 visar
kodomvandlarelementet i fig. 21 med sina olika ingångar och ut-
Pig. 2ü är ett blockschema över komponenterna i den i fig.
21 och fig. 23 visade kodomvandlaren. Pig. 25 är ett blockschema
över huvudstyrorganet i den i fig. 24 visade kodomvandlaren Pig. 26
är ett geometriskt diagram som visar den av kodomvandlaren genom-
Fig. 27 är ett flödesschema som
Pig. 28 är ett
geometriskt diagram som visar den av kodomvandlaren genomförda
Pig. 29 är ett blockschema över kodomvand-
Pig. 30 är ett blockschema
över kodomvandlarens skal-element. Pig. 31 är ett ytterligare
flödesschema 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.
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
gångar.
förda vektorberäkningsprocessen.
visar arbetssättet för kodomvandlarens skal-element.
interpolationsprocessen.
larens direktaccess-adresseringsdel.
Den första delen av detta avsnitt
IW.
av stiltyp-lagringssystemet. =
Pig. 1 visar t. ex. en mycket förstorad versidn av en versal
"Q" som är överlagrad på ett rutnät eller en matris av horisontella
10
15
20
25
30
35
HO
456 049
9
och vertikala linjer. Varje tecken eller symbol som har registre-
rats finns på ett sådant rutnät. Horisontella och vertikala upplös-
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-
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 stílsats 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
HO
456 049
(p
10
Pig. 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
Analogt härmed, så snart en horisontell
med vertikalkonturkoden.
punktlinje uppträder i tecknet, såsom fallet är i tecknets översta
del, utelämnas mellanpunkterna med horisontalkonturkoden. Speciellt
om koordinatpunkterna 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 841 (Schwartz) och 3 H71 8U8 (Manber) beskrivna teckenkod-
ningssystemet.
Uppfínningen 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.
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
kontur representeras de räta linjerna såsom "vektorer" av
koordinatenheter från vektorns ena ände till den andra.
ä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.
Som framgår av den vänstra halvan av fiß~ 3 fortskrider vekto-
rerna från vänster åt höger, med den konventionen att om tvâ vekto-
tecknets
antalet
Vektorerna
10
15
20
25
30
35
HO
456 049
11
rer börjar från samma X-koordinatvä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, 4. 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 Ö
3 Ä -6
4 Ä 7
När vektorerna 3 och N 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-koordínatomrá-
det för de nästföljande två vektorerna.
Efter angivandet av startpunkterna X3, Y3 och XR, Yu
förtecknas vektorerna i ordningsföljden 5, 6, 7, 8 med användning av
konventionen att de anges nedifrân och uppåt. Ytterligare vektorer
förtecknas därefter i ordningsföljden från vänster till höger och
nedifrån och uppåt; d.v.s. i 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 kodningssystem 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
456 049
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, Y1O, 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.
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
Den vektorsträng som börjar med vektorn 21
Först anges punkten X11,
slutar i ändpunkten 22.
slutar i ändpunkten 23, och den vektorsträng som börjar med vektorn
11 slutar i ändpunkten 2U.
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 8H1 och 3 H71 8U8:
(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
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 841 och 3
H71 BUS 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. U visar en typisk
beräkning, och fig. 5 visar en dylik algoritm som kan användas för
att bestämma en vektors längd.
Fig. U visar en provmatris 15 x 15 arrangerad i den övre högra
kvadranten från en punkt (O, O) 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
10
15
20
25
30
35
NO
456 049
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 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 belägna
Koordinaterna X, Y
Koordi-
konturpunkten för att representera konturen.
definierar den aktuella provpunkten för vektorns 32 spets.
naterna för samtliga konturpunkter 30 är betecknade med xø, 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. U är den
första prvvpunkten XT, XT (15, 9). Den fjärde provpunkcen, där
XT, YT är koordinaterna (12, 9) i enlighet med fig. N, provas
efter det att de tre föregående provpunkterna (15, 9), (lä, 9) och
Ändamålet med algoritmen är att finna
Algoritmen provar
(13, 9)-visat sig ej passa.
den längsta vektorn som klarar passningsprovet.
varje konturpunkt 30 med lägre värde (med koordinaterna x, y) för
att bestämma huruvida ett vinkelrätt avstånd Åšfrån denna punkt till
den från ursprungspunkten (0, 0) dragna vektorn till XT, YT
ö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
PTOVDUURCGU XT, YT och provet genomföres. Om avstàndetåß
överstiger konstanten K (d.v.s. om provet ger ej godtagbart resul-
tat) överses provpunkten 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°0PdíflêfiVäPdeÜ XT för provpunkten har reducerats till ett,
används kOOFdinatVärdena XT, yT för att ¿efiniera Vektopn_
Vektorn representeras sedan av skillnaden mellan koordinaterna för
den närmast föregående vektorns spets (koordinatvärden 0, 0 i
10
15
20
25
30
35
BO
456 049
1U
provmatrísen) 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ämmes för varje punkt
medelst enkel geometri. Med användning av likformiga trianglar
erhåller man:
X
5 ' T ' och
A .
Y V X 2 Y 2
+
T T
Y
' T
A _ -x 'ííí-'o
Y . YG 6 XT ,
Lösning med avseende på 5§ger:
Y
x T )
_ T
Fíïí
X 2 + Y
T T
å = [Tabell 1 värde QXT, yT]° [Yó - xöwaben II värdeøxT mig]
Värdena på V 2 2 och Y
T/XT
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 teckenkon-
turen. I en föredragen utföringsform är konstanten K vald så att
den är beroende av provvektorns lutning, så att i det närmaste
10
15
20
25
30
35
H0
456 049
15
horisontella lutningar kan avvika mera från konturen:
Om YT/xT är snön-e än 1 så är x = 0,5; och
Om YT/XT är mindre än eller = 1 så är K = 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. N 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â N-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 och 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. Prooeduren med val
av maximala vektorlängden innefattar följande steg:
(1) Maximala punktstorleken för de tecken som skall alstras av
sättmaskinen bestämmes 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-
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 stiltyp. 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 etc.).
(5) Ur denna vektorlängdfördelning väljs en maximal v6k$0PläHSd
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 U bitar),
10
15
20
25
30
35
H0
456 049
16
kommer definieringen av ett tecken att kräva ett överdrivet stort
antal vektorer och datareduceringen kommer att bli minimal.
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
Ana-
minimal datareduktion.
D 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. Styrkoder möjliggör
kvadrantval och initiering och fullbordande av kurva.
definieras uteslutande med sina Y-värden, eftersom X-läget ingår i
Startpunkter
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
UO
Start-ord:
X8X1X6*sXuX3X2X1Xo
Startgunkt-ord:
"3
Y9Y8Y7Y6Y5YuY3Y2Y1Yo
Vektor-byte:
Y3Y2Y1Yo
“2"1"o
x3X2X1Xø -
17
456 049
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 (børt 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örskjutníngen kommer
att inträffa.
Antalet rutnätllnjer
mellan uppträdandet av
styrkoden "start ny
linje" och själva
startpunkterna.
Detta värde definierar
den vertikala förskjut-
ningen mellan en
vektors början och slut.
456 049
18
x3X2X1X0 Detta är den horison-
tella förskjutningen
mellan en vektors
början och slut.
5
Styr-byte
0 O 0 O Dessa bitar definierar
en styr-byte, om de är
nollställda.
10 M3M2N1M0 Dessa fyra bitar bildar
ett binärt tal (O till
I 15) som anger en
"styr-funktion".
Q 15 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 - Utfyllnad
20 1 och 2 - Odefinierade
3 - Start av tvá konturer utan
några mellanliggande konturer.
M - Start av två konturer under
de existerande.
25 5 - Start av fyra konturer utan
Å några mellanliggande konturer.
6 - Start av fyra konturer under
de existerande.
, 7 - Ersätt ett existerande
30 kontur-värde med en nya:
värde utan att ändra den
numeriska ordningsföljden
uppför rutnät-linjen (d.v.s.
avsluta en kontur och starta
35 en kontur).
8 - Ej definierad
9 - Block-avslutning.
10 och 11 _ Ej definierade
12 - Avsluta två konturer
”Û 13 - Avsluta fyra konturer
10
15
20
25
30
35
456 049
19
1U - Ändra riktning. Efterföljan-
de vektorer befinner sig i
den andra kvadranten.
15 - 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 fíg. 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).
specificerade i en kvadrant genom koordinaterna X, Y för vektorns
slutpunkt i förhållande till kvadrantens origo.
följes uppifrån och nedåt för tecknet, kommer endast de tvá undre
Såsom vid det i fig. 6 visade formatet
Dessa vektorer är
Eftersom konturerna
kvadranterna att användas.
tillåter styrkoder kvadrantval samt initiering och fullbordande av
kurva. Med detta format befinner sig rutnätlinjen Y=O överst i
teckenqmrà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-X-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
På detta sätt definieras och fullbordas hela "strängar"
innan den nästföljande strängen defini-
konturen.
eller sekvenser av vektorer
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
U0
456 049
Y-dataord
XN
20
Dessa data definierar det horisontella läget för en
startpunkt. Vänstra referenslinjen (LSB) är definie-
rad såsom O.
Teokenbiten definierar XN:s förskjutning i förhållande
till vänstra referenslinjen (LSB).
L-biten definierar dx-riktningen för den första
vektorn.
F-biten eller "buktningsbiten" definierar den vektor-
lutning som skall användas av avkodaren vid extrapole-
ring av en teckenkontur 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/styrnings-ord:
dydx
Styrfunktioner:
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 (MSB) och den andra i
dess minst signifikanta bitar (LSB).
För samtliga värden på dy=0 definierar denna byte
Den speciella koden bor på värdet på dx i enlighet med
vad som framgår nedan:
0 - Slut på konturen.
1..
2-
Om den befinner sig i de mest signifi-
kanta bitarna, måste de minst signifikanta bitarna vara
fyllda med nollor.
Kasta om dx-riktningen för nästa vektor.
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
HO
456 049
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 O t.o.m. 255, men den skall ej användas från O t.o.m. 30.
U - 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.
Denna
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ätlínjig 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 - Definierar 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-1u _ 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
OWJCD-Q
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-
Skivan har en diameter av ungefär 203 millimeter och har en 38
Den högra kolumnen
ral.
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
,f_
10
15
20
25
30
35
HO
456 049
22
lagras på samt återvinnas från den ena sidan eller från båda sidorna.
Den i fig. 12 visade flexskivan ä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 fotocell, 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 koncentriska spår (likaledes
inritade med linjer uteslutande i och för beskrivningen). §å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.
Fig. 13 visar hur en eller flera stiltyper som är kodade i
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.
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-uppslags- och
breddregister, följt av datablock vilka definierar det antal tecken
som ingår i stiltypen ifråga. Tecken-datablooken kan ha det format
som visas i 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. 1H.
Detta register innehåller data som är tillämpliga på individuella
Teckenavbildningssys-
temet eller sättmaskinen använder ej denna information.
Den kodade teckeninformationen
tecken som erfordras i ett sättningssystem.
Om tre bytes används för att definiera data för varje tecken,
10
15
20
25
30
35
HO
456 049
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 tecknats
form enligt tangentbords-arrangemang-nummer. Enhetsbredden är
tecknets bredd i 1/SN av en "em".
I 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 U ä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
Varje tecken-
den första sektorn i de kodade teckendata.
När digitalíserad 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 teckenkodningsschemat
i anslutning till fig. 3 - 1ä, med arrangemang i det speciella
format som är visat i fig. 6 - 8. Pig. 15 visar den typ av data som
erfordras för en teokengenerator för att "svepa" ett tecken (i 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
När det gäller vertikala avsökningslinjer,
såsom visas i fig. 15, är dessa de angivna Y-värdena för tilllfrá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 HO (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
utgångs-avsökningslinje.
10
15
20
25
30
35
H0
gomvandla det i fig.
456 049
2h
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, X1, Y2, gå, YR, lä, I6, X1, Y8, Y9, Y10, Ill, Y12, Y13,
Y1N, šlâ etc., varvid "linjeslut"-flaggan i denna sekvens är angiven
genom understrykning. Eftersom data lagras och tillföres till
sättmaskinen i startpunkt- och vektorkontur-format, kräver sätt-
maskinen en "kodomvandlare" för att omvandla detta vektorformat till
det i fig. 15 visade skärníngs- eller "intercept"-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
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 intercept-
-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 - 19.
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).
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
w
grare verkställer den ytterligare anpassningen.
456 049
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-
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 períodiskt 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. För små storlekar
kommer den digitaliserade datamängden att överstiga den erforder-
liga. För att utnyttja all denna information kan kodomvandlaren
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 fig. 19. I denna figur är de heldragna linjerna den
ursprungliga digitaliseringsupplösningen och de streckade linjerna
är de avsökningslinjer som är utvalda för att utmatas. En "O" anger
en digitaliseríngspunkt 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 elektroník-kretskort, ett katodstrålerör, ett högspänníngs-mat-
10
20
25
30
35
H0
456 049
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 frontpane1-manöverorganen och en hálremsläsare.
Fig. 21 visar anordningen för de olika komponenterna, av vilka
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.
Systemet styres 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) SH. Systemets arbetssätt bestämmes
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 6H som tillhandahåller de digitaliserade
stiltyperna.
En hjälpbuss-interface-enhet och en hjälpbuss-buffert 66 styr
de till hjälpbussen 54 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. Kodomvandlaren 70 tar ut komprimerade stiltyp-data
från ett RAM- eller FROM-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 BH samt analoga spänningar som representerar X- och
Y-avlänkningar pá ett katodstrålerör. Dessa analoga spänningar
förstärkes av bildavlänkningsförstärkarna 76. Korrektionskretsar i
dessa förstärkare modifierar de analoga signalerna för att korrigera
för katodstrålerörets geometrí. Tecknen alstras slutligen på ett
katodstrålerör 78 med elektromagnetiska avlänkningsspolar 80.
10
15
20
25
30
35
HO
456 049
27
Katodstrâlen "slås till" och "slås ifrån" i avpassade ögonblick
under avsökningen genom den signal som kommer in på ledningen 8U
från teckengeneratorn TU. 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 fílmtransportanordning 86 för fram papperet
etc. efter varje fullbordad teckenrad. En stegmotor i filmtrans-
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 teckenposi-
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 6U och lagras
i direktaccessminnet (RAM) 72. Allteftersom de pá varandra följande
teckenblocken 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 SO mottar kodomvandlaren
70 kodade data för ett enkelt tecken på "informationsbehov"-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 7U - 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 7H av välkänd
10
15
20
25
30
35
H0
456 D49
28
konstruktion och de finns i marknaden att tillgå såsom standardkom-
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.
Teckengenereringen sker pá följande sätt:
Startpunkt och vektordata avseende den del av tecknet som skall
avbildas i en vertikal avsökningslinje adresseras (uppropas) från
RAM 72 och tillföres med låsning till kodomvandlarens ingångsbuf-
fert. Allteftersom varje avsökningslínje 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.
Beräkningen av katodstrålerörets stráles omkopplíngspunkter för
nästa avsökningslinje fortskrider därefter med användning av de
lutningar som är lagrade i nämnda vektorlutnings-FROM.
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).
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 i det
ponenter.
Som framgår
Y-intercept-värdena för varje
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 1 stacken
omvandlas till ett analogt värde i en digital/analog-omvandlare 92 i
teckengeneratorn YU. Teckengeneratorn har även en rampgenerator 93
som alstrar en med tiden likformigt stigande utgángssignal. En
Jämförare QU, 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
/x
10
15
20
25
30
35
BO
456 049
29
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-interceptvärdet för nästa avsökningslinje.
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 QH och ENDSC-signalen pâ ledningen 96.
Återgångssveplogikens verkningssätt áskådliggöres i fig. 22B.
Denna figur visar den CRT-Y-avlänkningsspänníng 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öres
Y-intercept-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 9U ingen utsignal. Men när
Y-avlänkningsspänningen när värdet Y6 avger jämföraren 9H 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. Y-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 9B 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 99 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
Y-intercept-värde.
Återgängssvepsignalen
längs rampen på svepet HU. Y-avlänkningsspänningen kommer att
snabbt nå värdet Y8, vilket medför att jämföraren 9U återigen ger en
utgångssignal som slår om strålen från FRÅN till TILL. Strålen slås
ifrån igen när Y-avlänkningsspänningen när Y9, slås till när den när
10
20
25
30
35
LO
456 049
30
Y1O 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.
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.
Fig. 23 visar vad som går in till och ut fràn kodomvandlaren
70. Signalerna till och från hjälp-databussen SH visas till vänster
och signalerna till och från teokengeneratorn 7U visas till höger.
Dessa signaler definieras enligt följande:
XDB - 16-bits dataord som definierar det tecken som
skall avbildas mottages parallellt från RAM 72.
3 styríngångar, vilkas tillstànd bestämmes av
kalkylatorn 50, initierar och styr operationer i
XBHS -
kodomvandlaren.
En styringångssígnal 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
XRST -
andra signaler.
CYCREQ -
CYCACK -
Data-insignaler uppträder vid mottagning av en
XMBS-signal.
len av den s.k. "handskakningsoperationen" och
Kodomvandlaren övertar då kontrol-
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.
len på EOC till dess att XBMS-signalen, som anger
data-insignal, avlägsnas.
EOC -
Kodomvandlaren avger då signa-
SDATA - 11-bits dataord som representerar intercept-vär-
den eller strál-omkopplingspunkter överföres till
teckengeneratorn i serieform.
SERCK - Kodomvandlaren alstrar en 5 MHz klocksignal,
vilken tillföres till teckengeneratorn för att
synkronisera bitarna i utgångs-dataordet (SDATA).
10
15
20
25
30
35
40
456 049
31
Om utgångs-dataordet hänförde sig till tecknets
högsta konturkurva i denna punkt, vidarebefordras
en signal till teckengeneratorn TU på denna
ledning för att avsluta svepet.
leckengeneratorn infordrar data genom att till
föra en signal på DATRQ. Kodomvandlaren svarar
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 teckens framkant under
kastas skaloperation i kodomvandlaren. Fältets
bredd överföres till teckengeneratorn 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.
uppträder i början av teckenbehandlingen innan
några dataord tillföres till teckengeneratorn.
Teckengeneratorn avger en EMPTY-signal när dess
Denna signal används av
ENDSC -
DATRQ -
DATAV
STEPDN -
STEPUP
Pulserna
EHPTY -
' utgángsbuffert är tom.
kodomvandlaren för att bestämma när ett tecken
har blivit fullständigt utritat.
Fig. 2H ä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
XBMS (signalerna 0, 1, 2) samt XRST. Avkodaren 102 alstrar de 7
styr-ingángssignalerna ur 8 signaler, vilka representerar start-ord
och styr-bytes vilka mottages från en ingàngsbuffert 104. Data fràn
de 16 XDB-linjerna inmatas till och kvarhålles i ingángsbufferten
Huvudstyrorganet, som visas 1 fig. 25, alstrar H6 utgàngssig-
naler för att styra kodomvandlarens funktion. Dessa signaler
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
35
U0
456 049
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-FROM tillföres till låskretsen
110, vilken 1 sin tur är ansluten till en tillståndsavkodare 112 och
en "pseudo"-tillstånds-PROM 114.
Denna pseudo-tillstånds-FROM 11H kan modifiera sitt utgångs-
tillstånd under en processor-cykel om det rådande tillståndet och
dess styringångar tvingar den därtill. Förutom tillstånds-utgångs-
signalen från låskretsen 110 mottar pseudo-tillstânds-FROM'en de U
styrsignalerna, i princip från avkodaren 102. Av de 8 utgàngsresul-
taten från pseudo-tíllstånds-PROM 11U avkodas 5 i en pseudo-till-
stands-avkodare för alstring av 2U styr-utgàngssignaler.
Vektorbehandling:
Dessa är följande:
(1) Intereept-värde (11 bitar).
lagrat i intercept-minnet 120, är Y-värdet av på varandra följande
vektorändar kring en kontur. Sålunda:
Y = AX startpunkt (:AKN,ïAYN är den N:te vektorn)
Y = Yo +/- :Ayo
Y X1 +/- mig
Fem parametrar lagras för vektorbehandling.
Intercept-värdet, som är
N-*O
II
YN = YN_<| +/-.ÃÅYN_1.
(2) 2AX-värde (U bitar). SAX-värdet, som är lagrat i ZAX-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:
3ÅX = 3ÅXN (ny vektor börjar här)
:ÛÅXZfAX-l )
) minskade i efterhand
'f-AX : fßx -1 )
IAX = 1 (slut på vektorn).
(3) AX-värde (5 bitar). Värdet Ad, som är lagrat 1 ¿H¥min-
net 12ü, ä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
3O
35
U0
AY-värde, Sóy.
456 049
33
tas 5á3°m inßånšsväfdet Då AYN och 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 1
styrbit-minnet 126, är noll för en vektor 1 den ena kvadranten
(t.ex. den övre) och ett för en vektor i den andra kvadranten (t.ex.
den undre).
(5) Giltighetsbit (1 bit). Giltighetsbiten, som är lagrad 1
styrbit-minnet 126, är 0 för ett intercept-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örtecknet och endast positiva värden beaktas.
Förteckenbiten införes i ackumulatorn där så erfordras.
Beräkningen börjar med ett startpunktvärde Y som lagras i
intercept-minnet 120, och åáü-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 flAX-minnet; när det når värdet "1" signalerar den efter en
Intercept-minnet 120 uppdateras med .AY-värdet och AX
Giltighetsbiten 1-ställas, så att data blir till-
gängliga för utmatning. Denna beräkningsprocess åskådliggöres i
fig. 25. 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 FROM adresseras med .AX och LAY och avger ett normaliserat
Detta värde äåy inverteras av en interpolations-FROM
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 13ü och återställes till .AY-minnet 12U.
Samtliga kodomvandlarminnen är uppbyggda av 16 "djupa" direkt-
accessminnen (RAM). Dessa RAM adresseras parallellt från ett U-bit
16 djupt FIFO-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 FIFO drivs
normalt med sina utgångar anslutna till sina ingångar, så att
adresserna återcirkuleras. För varje vektor-processoperation
klockas en adress in i FIFO's utgàngsregister och den föregående
adressen laddas på FIFO's ingång.
Nya startpunktadresser kan införas i slingan från ny-adress-
vektor-byte.
och ;AY lagras.
10
15
20
25
30
35
RO
456 049
3H
-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 R-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. Bíten
"ej ledig" (1 bit) som är lagrad i styrbit-minnet 126, är O för en
tom RAM-position och 1 för en upptagen position. En 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 1 vilken startpunktkoder
och vektorkoder uppträder i teckendata säkerställer att adresserna
införas i stacken och sålunda tillföres till RAM-minnena i korrekt
ordningsföljd för att ge ökande intercept-värden på utgången.
Det nedersta kontur-låsorganet är ett H-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öres 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 ordningsföljd utan några utskju-
tande delar vid linjernas ändar.
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 ska1-an-
Det
passa tecknet genom bestämning av den punkt i vilken Y-värden skall
10
15
20
25
30
35
HO
456 049
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.
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/W olika antal
gånger. En U-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, M2 ooh N3 och
heltalet under 16X/H representeras av M, så kan approximationen
uttryckas:
16x (NO x M)+
___:
w N1+N2+N3+Nu
Ett speciellt fall inträffar när storheten 16X/W 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 1 fig. 30. Bredd-registret inne-
håller det konstanta breddvärdet som tillhandahållas av kalkyla-
Detta värde används för att adressera två PROM-uppslagstabel-
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-
torn.
a
'f -
10
15
20
25
30
35
NO
456 049
36
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 U minst signifikanta bitarna
som är kvarhållna i rest-låskretsen och de fyra 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. Sålunda är det 1 tabellen lagrade värdet en enhet mindre än
antalet erforderliga repetitioner.
Skal-organets arbetssätt framgår av flödesschemat 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.
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
och 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-
Skal-organet
10
15
20
25
30
35
U0
456 049
37
räknarens ingång ignorerar den minst signifikanta biten) och utgång-
en från linjeräknaren bestämmer vilken speciell_§y som är under
behandling. En FROM-uppslagstabell adresseras av dessa sex linjer
och en av åtta skalfaktorer väljes.
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 12U
innehåller skillnaden mellan intercept-värdet och Y-värdet vid den
senaste rutnätlinjen. Skal-organet 136 avger en interpolationsad-
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 interpolationsläget. Detta värde subtraheras från AY i addera-
ren 13H och uppträder på D-bussen. Det tillföres till ackumulatorn
128 via A-bussen, och B-bussen överför utgångsdata från íntercept--
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öres 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ätlínjer 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
i intercept-minnet 120 för alstring av utgångsvärdet. Det medelvär-
desbildande systemet ignorerar interpolationslínje-adresser och ger
utgángsvärde andast för ett helt antal rutnätlínjevärden.
Beräkningen baseras på ekvationen för det aritmetiska medelvär-
det av värdena X0 till Yn_1, vilken ekvation lyder:
-1
I!
5
ll
O
_ 1 _ , å _ E __
{n(Yo 11) + n (Y1 Y2) + '°° + n(Yn~1 Ynfl + Yn
10
15
20
25
30
35
NO
456 049
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
ây-utgångsvärdena från vektorlutnings-FROM 129.
Medelvär-
olika termerna är då
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:
Yn = Y -'AI (interceptminnet minus Y-minnet)
YO-X1 = áyo (veknoriutning PROM-utgång på G1)
Y1-Y2 = Sy1 ( " " " G2)
Y2-Y3 = áyz ( " " " G3)
n = 3
Medelvärdet på Y för linjerna Go, G1, G2 blir
wl-L
m
H2
+
who
öY + 6Y
1 + (Y-AY)
2
Det programmerbara korrektions-läsminnet (FROM) 1UO tar ut-
gångsvärdet dy 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 PROM - kallat faktor-
val-FROM - i skal-organet 136 som adresseras med antalet rutnätlin-
jer mellan utgàngslinjerna (divisorn) och det aktuella linjeantalet
(dividenden). 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 1H0 till innehållet i korrektionsminnet
130.
börjar därefter bygga upp korrektionen för nästa utgångsvärde.
FROM-utgångsvärdet på B-bussen adderas alltid till korrektions-min-
nesutgångsvärdet på A-bussen medelst ackumulatorn 128. Värdet i
korrektionsminnet ändrar tecken så snart konturen växlar kvadrant.
Korrektionsminnet innehåller endast åtta bitar, men det ignorerar
Detta minne raderas varje gång en utgângslinje uppträder och
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 íntercept-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 korrektionsmínnet med
10
15
20
25
30
35
NO
4s6'o49
39
det aktuella värdet AI 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-minnets 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öres därefter, och nästa
utgångsvärde-beräkning kan börja.
sig till den högsta aktuella konturen,
teckengeneratorn efter överföringen på ENDSC-styrledningen.
Ehuru de anordningar som ovan beskrivits utgör föredragna
Om det överförda värdet hänför
"flaggar" kodomvandlaren till
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äckes av bifogade
patentkrav.
Claims (8)
1. Sättmaskinanordning för automatisk alstring av tecken och, innefattande ett teckenavbildningssystem för att skriva grafiska teckens kvalitet uppvisande tecken av godtyckligt utseende på ett tryck-underlag (200); ett stiltyp-lagringssystem på vilket digitala data är lagrade vilka definierar varje tecken som skall avbildas (6H, 72); samt ett elektroniskt beräknings- och styrsystem vilket förbinder stiltyp-lagringssystemet med teckenavbildningssystemet för att styra teckenavbildningssystemet i enlighet med nämnda digitala data (50); varvid teckenavbildningssystemet innefattar en ljusfläck-avsöka- re för att skriva tecken medelst ett flertal parallella avsöknings- svep (78); varvid stiltyp-lagringssystemet innefattar ett lagringsmedium (65) på vilket nämnda digitala data är registrerade, vilka innefat- tar (a) digitala tal som definierar nämnda första och andra koor- dinater för startpunkterna för åtminstone två konturer av ett tecken som är överlagrat på en normaliserad kodningssats av första och andra koordinater (25, 26); och (b) digitala tal som definierar ett flertal rätlinje-vektorer vilka sträcker sig i följd efter varandra längs tecknets kontu- rer från nämnda startpunkter, varvid varje vektor har ett första digitalt tal som representerar den första koordinatens avstånd och ett andra digitalt tal som representerar den andra koordina- tens avstånd frán den ena änden av vektorn till den andra (1-2U); och _ varvid nämnda beräknings- och styrsystem innefattar: (a) organ för att erhålla direktaccess till nämnda lagrade digitala data och för att avge nämnda digitala data i följd efter varandra (70, 72); och (b) organ som är anordnat att ta emot nämnda digitala data i följd efter varandra för att omvandla dessa data till tecken-- intercept-värden för varje svep av nämnda avsökningsorgan (70).
2. Anordning enligt kravet 1, k ä n n e t e c k n a d av att beräknings- och styrsystemet dessutom innefattar ingàngsorgan för att avge driftsinstruktioner vilka innefattar identiteten och punkt- storleken för tecken som skall avbildas (58, 60, 62), och varvid identiteten för de tecken som skall avbildas tillföres till nämnda direktaccess-organ för val av tillämpliga lagrade digitala data och varvid nämnda punkt-storlek är anordnad att tillföras till omvand- 4, 456 049 lingsorganet för beräkning av tecknets intercept-värden (50).
3. Anordning enligt kravet 1, k ä n n e t e c k n agd av att den ena av nämnda första och andra koordinater är parallell med nämnda avsökningssvep (40-H5), varvid nämnda intercept-värden är värdena för nämnda första koordinat i skärningspunkterna mellan vektorerna vid varje successivt värde på den andra koordinaten (YO-Y15) och varvid intercept-värdena är anordnade att beräknas för successiva värden på den andra koordinaten genom addering av lut- ningen för varje vektor som är förknippad med nämnda intercept-värde som skall beräknas till respektive intercept-värde motsvarande det omedelbart föregående värdet på nämnda andra koordinat (12U, 129, 134).
4. Anordning enligt kravet 1, k ä n n e t e c k n a d av att teckenavbildningssystemet har en fast utgángs-upplösning (78) och att omvandlingsorganet innefattar organ som reagerar för punktstor- leken för inställning av det antal avsökningslinjer som erfordras för att definiera ett tecken, så att tecknet skal-anpassas i en koordinatriktning (70, 136).
5. Anordning enligt kravet 1, k ä n n e t e c k n a d av att omvandlingsorganet innefattar organ för att interpolera nämnda tecken-intercept-värden för avbildning av tecknen med en finare upplösning än upplösningen för nämnda normalíserade kodningssats av första och andra koordinater (70, 132).
6. Anordning enligt kravet 1, k ä n n e t e c k n a d av att omvandlingsorganet innefattar organ för att bilda medelvärden av nämnda tecken-intercept-värden för avbíldning av tecken med en grövre upplösning än upplösningen för nämnda normaliserade kodnings- sats av första och andra koordinater (70, 1U0).
7. Anordning enligt kravet 1, k ä n n e t e c k n a d av att nämnda digitala data dessutom innefattar åtminstone ett digitalt tal som definierar huruvida ett tecken skall kursiveras, d.v.s. under- skäras (25a), och att omvandlingsorganet är anordnat att som svar på nämnda åtminstone ett digitalt tal beräkna intercept-värden för kursíverade tecken i kursiverade lägen (70).
8. Anordning enligt kravet 1, 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 som definierar det horisontella avståndet från koordi- natsatsens vänstra sida till startpunkten och ett annat digitalt tal som definierar det vertikala avståndet från tecknets baslinje till startpunkten (25a, 25b).
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 |
---|---|
SE8501905D0 SE8501905D0 (sv) | 1985-04-18 |
SE456049B true SE456049B (sv) | 1988-08-29 |
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 Before (1)
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 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
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 |
SE446705B (sv) | 1986-10-06 |
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 |
---|---|---|
SE456049B (sv) | Settmaskinanordning for automatisk alstring av tecken | |
US4298945A (en) | Character generating method and apparatus | |
US4254468A (en) | Typesetter character generating apparatus | |
GB2033307A (en) | Digital typesetter | |
EP0526295A2 (en) | Image forming apparatus | |
EP0180258B1 (en) | Decoder | |
JP2964841B2 (ja) | データ変換装置 | |
US20090060341A1 (en) | Information input output method using a dot pattern | |
JPH0812544B2 (ja) | 文字フォント生成装置 | |
EP0392499A3 (en) | Apparatus for generating high-quality character pattern | |
US5317650A (en) | Determination of the arc length of a curve | |
GB2105151A (en) | A magnetic font disc for use in an ultra high resolution photocomposition system employing electronic character generation | |
JP2952915B2 (ja) | ドットパターンデータ発生装置 | |
US4446491A (en) | Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data | |
JP2003099771A (ja) | データ変換装置およびその方法、並びに当該方法を用いたプログラム | |
JP2637921B2 (ja) | 文字記号発生装置 | |
JPH06100905B2 (ja) | パターン出力方法 | |
KR900002811B1 (ko) | 문자, 화상 데이터의 압축방법 | |
JPH05257452A (ja) | 文字信号発生装置 | |
JP3102979B2 (ja) | 罫線変換機能を持つ文書情報処理装置 | |
JPS60231267A (ja) | 文字間制御方式 | |
JP3039214B2 (ja) | データ変換装置 | |
JPH01249461A (ja) | フォント表現方式 | |
JPH0968961A (ja) | キャラクタデータ変換装置 | |
JPS629389A (ja) | 文字パタ−ン発生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NUG | Patent has lapsed |
Ref document number: 8501905-7 Effective date: 19891128 Format of ref document f/p: F |