SE456050B - Settmaskinanordning for automatisk alstring av tecken - Google Patents
Settmaskinanordning for automatisk alstring av teckenInfo
- Publication number
- SE456050B SE456050B SE8502470A SE8502470A SE456050B SE 456050 B SE456050 B SE 456050B SE 8502470 A SE8502470 A SE 8502470A SE 8502470 A SE8502470 A SE 8502470A SE 456050 B SE456050 B SE 456050B
- Authority
- SE
- Sweden
- Prior art keywords
- character
- vector
- data
- value
- line
- 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
Description
10
15
20
h)
Uï
30
35
NO
456 050
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. De s. k. "analoga"
maskinerna lagrar typmallar på fotografiska filmgaller. Dessa
mallar avsökes med en ljusfläckavsökare ("flying spot"-scanner)
samtidigt som tecknet avbildas i lämplig storlek på det som utgångs-
organ tjänstgörande katodstráleröret. En andra klass sättmaskiner,
de s.k. "digitala" maskinerna, är baserade på stilmallar som har
kodats i digital form och lagrats på något slag av digitalt lag-
ringsmedium i maskinen. Med dylika digitala maskiner är möjligheten
att lagra en stort typslag-bibliotek i sättmaskinen begränsad endast
av 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 likformiga
tecken än de analoga maskinerna.
Ursprungligen, när digitala CRT-sättmaskiner först introduce-
10
15
20
25
30
35
HO
456 050
3
rades, gällde det i fråga om framställning av digitala typslag_ma1-
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 BN1
(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 B71 8N8 (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 l 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 BN1 och 3 N71 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
'Lao
456 050
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
beskrivas i amerikanska patentskrifterna 3 305 8U1 och 3 N71 848
avsevärt mera kostnadskrävande änd 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 1 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 H 029 QM7 (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. Denna maskin, som
är beskriven i publikationen Seybold Report, vol. 1, nzris 12 och 13
(1U och 28 februari 1972), lagrar de absoluta koordinaterna för ett
antal punkter pá tecknets kontur. Datareducering kunde åstadkommas
eftersom mellanliggande punkter på konturen mellan lagrade punkter
antogs följa räta linjer mellan de lagrade punkterna.
10
15
20
25
30
35
UO
456 050
5
SEACO's CRT-sättmaskin Model 1601 och den i amerikanska patent-
skriften U 029 9U7 beskrivna sättmaskinen bestämmer för avbildningen
av tecknet inom ett område av punktstorlekar erforderliga data ur en
enda uppsättning kodade teckenkonturdata medelst en beräkningsopera-
tion som utföres antingen maskinvarumässigt eller programvaru-
mässigt. I motsats härtill genomför de CRT-sättmaskiner som beskri-
ves i amerikanska patentskrifterna 3 305 841 och 3 N71 8ü8 ett
minimum av beräkningar, eftersom den information som erfordras för
att "rita" konsekutiva linjesegment (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.
(N) 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 kaikyiatof-.ï
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äljas och den första och den
andra koordinatens värden för denna punkt lagras.
(2) En eller flera rätlinje-vektorer väljes, vilka sträcker sig
i serie efter varandra längs tecknets kontur från startpunkten och
vilka med god approximation följer konturen. Varje vektor represen-
teras sedan av ett första digitalt tal som definierar den första
koordinatens avstånd och ett andra digitalt tal som definierar den
andra koordinatens avstånd från vektorns ena ände till den andra.
Systemet med vektorkodning av konturen enligt uppfinningen
,n
10
15
20
25
30
35
UO
456 050
6
uppfyller de fyra krav som ovan specificerats. Kodningssystemet
ifråga är framförallt sparsamt med utrymme och minne. Enligt ett
föredraget särdrag hos uppfinningen har nämnda första och andra
digitala tal vilka definierar varje vektor en begränsad storlek.
Vid en måttlig upplösning, exempelvis N32 enheter i "em"-kvadraten,
kan de utgöras av H-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" . De rätlinjevektorer som definieras av de
kodade data gör det möjligt att utföra denna beräkning med ett
minimum av uppbåd i form av maskinvara (eller programvara) och med
hög hastighet.
Slutligen kan teckenkodningsdata enligt uppfinningen automa-
tiskt härledas ur rå-punkt-matrisinformation eller från någon annan
digitaliserad kod på relativt enkelt sätt med användning av en
programmerad digital kalkylator. I enlighet med en föredragen
kodningsmetod enligt uppfinningen väljer man första rätlinje-vekto-
rerna genom att först bestämma konsekutiva koordinatpunkter på varje
kontur för vilken konturen avviker mindre än ett föreskrivet avstånd
från en mellan punkterna ifråga dragen rät linje. Så snart kontur-
punkterna har bestämts, subtraheras det första och det andra koordi-
10
15
20
25
30
35
NO
456 050
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 N-bits första och andra digi-
tala tal som definierar varje vektor.
Sammanfattningsvis uppvisar stiltyplagringssystemet enligt
uppfinningen en kombination av särdrag som gör det på ett unikt sätt
lämpat för att definiera stiltyper i digital form. Ytterligare
särdrag och fördelar för systemet enligt uppfinningen kommer att
framgå av följande detaljerade beskrivning i anslutning till på
bifogade ritning med fig. 1 - 32 visade utföringsexempel. Fig. 1
visar ett normaliserat X-Y-rutnät på vilket konturen av versalen Q
är överlagrad. De koordinatskärningspunkter som befinner sig
närmast konturen är likaledes inritade. 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. Fig. 2 ä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. 4 är en provmatris som används för automatiskt val av
vektorer i enlighet med uppfinningen för att representera en tecken-
kontur. Pig. 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. Fig. 8 visar
den faktiska kodningen för det i fig. 7 visade tecknet med använd-
ning av det i fig. 6 visade dataformatet. Fig. 9A - 9D visar ett
annat föredraget format för digitala data för teckenkodningssystemet
enligt uppfinningen. Pig. 10 visar ett representativt tecken som är
överlagrat på ett normaliserat X-Y-rutnät med tecknets konturer
definierade genom startpunkter och vcktorer som följer arrangemanget
i högra delen av fig. 3. Fig. 11 visar den faktiska kodningen för
det i fig. 10 visade tecknet med användnig av det i fig. 9 visade
dataformatet. Fig. 12 är en planvy av en hård sektorindelning
uppvisande flexskiva med sektorer och spår ínritade. Fig. 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
5
10
15
20
25
30
35
HO
456 050
8
teckensöknings- och breddregistret i fig. 13. Fig. 15 visar versa-
len Q alstrad av vertikala "svep" på ett katodstrålerörs skärm gig
l§A visar ett typiskt tecken som har sin kontur begränsad av rät-
linje-vektorer som skär vertikala avsökningslinjer. Fig. 168 visar
hur tecknet i fig. 16A avbildas med en speciell teckenbredd medelst
de vertikala avsökningslinjerna. Fig. 17A visar ett typiskt tecken
som har sin kontur begränsad av rätlinje-vektorer vilka skär verti-
kala avsökningslinjer. Fig. 178 visar hur tecknet i fig. 17A
avbildas med en speciell teckenbredd medelst de vertikala avsök-
ningslinjerna. Fig. 18 visar hur streck-ändpunkter (skärningsvär-
den) bestämmes genom interpolation ur kodade teckendata. Pig. 19
visar hur streck-ändpunkter (skärningspunktvärden) bestämmas genom
medelvärdesbildning ur kodade teckendata. Fig. 20 är en perspektiv-
bild av en CRT-sättmaskin med en del komponenter visade i punkt-
streckade linjer. Fig. 21 är ett blockschema över komponenterna i
den i fig. 20 visade sättmaskinen. Fig. 22A och 228 är blockschema
resp. signaldiagram som visar uppbyggnaden av och arbetssättet för
det i fig. 21 visade teckengeneratorelementet. Fig. 23 visar
kodomvandlarelementet i fig. 21 med sina olika ingångar och ut-
gångar. Pig. 2ü är ett blockschema över komponenterna i den i fig.
21 och fig. 23 visade kodomvandlaren. F15. 25 är ett blockschema
över huvudstyrorganet i den i fig. 24 visade kodomvandlaren Fig. 26
är ett geometriskt diagram som visar den av kodomvandlaren genom-
förda vektorberäkningsprocessen. Fig. 27 är ett flödesschema som
visar arbetssättet för kodomvandlarens skal-element. Fig. 28 är ett
geometriskt diagram som visar den av kodomvandlaren genomförda
interpolationsprocessen. Fig. 29 är ett blockschema över kodomvand-
larens direktaccess-adresseringsdel. Fig. 30 är ett blockschema
över kodomvandlarens skal-element. Fig. 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. Den första delen av detta avsnitt
'hänför sig till stiltyp-lagringssystemet med dess nya och fördelak-
tiga system för digital kodning av tecken eller symboler. Den andra
delen avser anordningar som kan avbilda tecken vilka är definierade
av stiltyp-lagringssystemet.
Fig. 1 visar t. ex. en mycket förstorad version av en versal
"Q" som är överlagrad på ett rutnät eller en matris av horisontella
10
15
20
25
30
35
UO
456 050
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=O och den horisontella baslinjen
kallas Y=O.
När ett tecken, exempelvis den i fig.
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.
1 visade versalen Q,
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
konturkcordinatpunkter 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-
Eftersom varje koordinat i en matris om 600 x 800
vardera X och
natpunkter.
kräver 20 databitar för sin definition, (10 bitar för
Y), skulle man behöva S0 kbits för att representera versalen "Q".
Eftersom en typisk stilsats har mer än 100 tecken, skulle en sätt-
maskin behöva ha ett snabbt minne med en kapacitet av ungefär 60
miljoner bitar för att lagra en enda stilsats i denna typ av kod.
10
15
20
25
30
35
UO
456 050
10
Fig. 2 visar hur det antal koordinatpunkter X och Y som defini-
erar ett tecken kan reduceras genom att man endast anger den första
och den sista punkten på en vertikal eller horisontell linje (koor-
dinat). Tecknet "Q" har i figuren delats i halvor. På vänstra
sidan finns de vertikala linjernas slut-konturpunkter och på den
högra sidan finns de horisontella linjernas slut-konturpunkter.
Genom att jämföra fig. 1 med 2 finner man att det totala antalet
koordinatpunkter väsentligt har reducerats. Så snart en vertikal
punktlinje uppträder i tecknet, såsom fallet är längs tecknets
vänstra sida, utelämnas samtliga punkter mellan de båda ändpunkterna
med vertikalkonturkoden. Analogt härmed, så snart en horisontell
punktlinje uppträder i tecknet, såsom fallet är i tecknets översta
del, utelämnas mellanpunkterna med horisontalkonturkoden. Speciellt
om 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 8ü1 (Schwartz) och 3 N71 8U8 (Hanber) beskrivna teckenkod-
ningssystemet. -
Uppfinningen ger ett kodningssystem som är t.o.m. ännu mera
sparsamt med minnesutrymme än den i fig. 2 visade teckenrepresenta-
tionen och som kan användas i en sättmaskin med ett minimum av
maskinvaru-uppbåd för att avbilda tecken med hög hastighet. Detta
teokenkodningssystem kan dessutom automatiseras på ett enkelt sätt
med användning av en digital kalkylator.
Pig. 3 visar kodningssystemet enligt uppfinningen. Enligt
detta system har antalet koordinatpunkter längs teckenkonturerna än
ytterligare reducerats, och det antages att dessa punkter är för-
bundna med varandra genom räta linjer. I stället för att specifice-
ra de absoluta koordinaterna för dessa valda punkter runt tecknets
kontur representeras de räta linjerna såsom “vektorer" av antalet
koordinatenheter från vektorns ena ände till den andra. Vektorerna
är anordnade i ordningsföljd, från spetspunkten till slutpunkten, så
att en ny vektor börjar där en närmast föregående vektor slutar. En
serie eller sträng av dylika vektorer, vilka bildar tecknets kontur,
utgår från en ursprunglig "startpunkt" som är given i absoluta
koordinater.
Som framgår av den vänstra halvan av fig. 3 fortskrider vekto-
rerna från vänster åt höger, med den konventionen att om två vekto-
10
15
20
25
30
35
NO
456 050
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 startpunktep
är givna, så förtecknas det lägre paret och den lägre startpunkçen
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, U. De tal som definierar dessa vektorer år angivna i Tabell I:
-TABELL I
Vektor nummer X-avstånd Y-avstånd
1 2 -7
2 2 6
3, U -6
H H 7
När vektorerna 3 och U har löpt ut, är det nödvändigt att
definiera tvâ nya startpunkter, X3, Y3 och Xu, Yu innan man
fortsätter med nya vektorer. Eftersom teckendata fortskrider från
vänster át höger skulle man eljest anta att det ej fanns några
vektorer eller startpunkter med X-koordinatvärden i X-koordinatomrà-
det för de nästföljande två vektorerna.
Efter angivandet av startpunkterna X3, Y3 och Xu, 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. Det är emellertid
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, X5 och vektorn 10 fortskrider från punkten
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
HO
456 050
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, Y? och dess
vektorer 11, 12, 13 etc. fram till slutet av strängen; startpunkten
X8, Y8 etc. till slutet av strängen; startpunkten X9, Y9;
vektorerna 17 och 18; startpunkten X10, Y10, vektorn 19 o.s.v.
Som fallet är när det gäller startpunkten X5, Y5 och X6,
Y6 är slutligen en enda punkt definierad såsom ett "par" start-
punkter X11, Y11 och X12, Y12. Först anges punkten X11,
Y11 med sin vektor 20; därefter anges startpunkten X1¿, Y12
följd av vektorn 21 och de övriga vektorerna i strängen. Vektorn 20
slutar i ändpunkten 22. Den vektorsträng som börjar med vektorn 21
slutar i ändpunkten 23, och den vektorsträng som börjar med vektorn'
11 slutar i ändpunkten 2U.
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 BU1 och 3 N71 8H8:
(1) Flertalet tecken innehåller till skillnad från det som
âskådnigsexempel valda "Q“ ett antal räta linjer 1 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 8U8 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 (0, 0) som kan vara en ursprunglig start-
punkt eller spetsen av en föregående vektor. Vid provmatriskvadran-
ten antages att en från vänster till höger orienterad vektor skall
Det är
definieras, vilken sträcker sig uppåt (positiva Y-värden).
10
15
20
25
30
35
H0
456 050
13
uppenbart att provmatrisen även kan vara placerad 1 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
konturpunkten för att representera konturen. Koordinaterna X, Y
definierar den aktuella provpunkten för vektorns 32 spets. Koordi-
naterna för samtliga konturpunkter 30 är betecknade med xo, 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, 0). I fig. 4 är den
föfflta PP°VPUflkfi6fl XT, YT (15, 9). Den fjärde provpunkten, där
XT, YT är koordinaterna (12, 9) i enlighet med fig. R, provas
efter det att de tre föregående provpunkterna (15, 9), (1U, 9) och
(13, 9) visat sig ej passa. Ändamålet med algoritmen är att finna
den längsta vektorn som klarar passningsprovet. Algoritmen provar
varje konturpunkt 30 med lägre värde (med koordinaterna x, y) för
att bestämma huruvida ett vinkelrätt avstånd ŧ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
PF°VPUflkfien XT, YT och provet genomföres. Om avståndet$§
överstiger konstanten K (d.v.s. om provet ger ej godtagbart resul-
tat) Övefßßß PP°VPUflktfifl XT, IT och nästa lägsta värde på XT
väljas.
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°°PdífiatVäPdet XT för provpunkten har reducerats till ett,
används koordinatvärdena XT, yT för att definiera vektorn,
Vektorn representeras sedan av skillnaden mellan koordinaterna för
den närmast föregående vektorns spets (koordinatvärden 0, O i
10
15
20
25
30
35
NO
456 050
1U
provmatrisen) och koordinatvärdena för den valda
YT. Med andra ord, dx, dy sättes lika med XT,
Det vinkelräta provavståndet áïbestämmes för
Med användning av likformiga trianglar
provpunkten X
Ta
YT.
varje punkt
medelst enkel geometri.
erhåller man:
x I .
____J§____ ' ______EL_----- ' 'och
A l .________________,__
Y V X2 Yz
+
T T
Y
' T
A = ' X -
Y . ya s XT.
Lösning med avseende på Åägerz
Y
. X T )
(y 'X "_"
.6 .. T x
_ 6 6 T
v"'_____________-___-_
2 2
X 'FY «
T T '
å = [Tabell I värde QXT, YT]' [Ys - X6(Tabel1 II värde QXT YTÛ
T..
Värdena på V X 2 + Y 2
T T
kan givetvis beräknas för varje särskild gäng medelst en kalkyla-
tor. Men eftersom det finns ett begränsat antal punkter XT, YT
1 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öríngsform är konstanten K vald så att
den är beroende av provvektorns lutning, så att i det närmaste
och YT/XT
10
15
20
25
30
35
U0
456 050
15
horisontella lutningar kan avvika mera från konturen:
Ûm YT/XT är större än 1 så är K = 0,5; och
°m TT/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. H visar en provmatris i vilken de maximalt tillåtna
värdena på X och Y är 15 enheter. En vektor som slutar i någon
punkt inom denna matris kan definieras medelst två H-bits binära
tal: dx och dy. En analys har visat att även med ett rutnät med
måttligt hög upplösning kommer den helt dominerande delen av de
vektorer som erfordras för att definiera ett tecken att falla inom
en dylik matris 15 x 15 så att det är tillfyllest 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.
(4) 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 1 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 vektorlängd
som medför en minimímä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
40
4sego5o
16
kommer definieríngen av ett tecken att kräva ett överdrivet stort
antal vektorer och datareduceringen kommer att bli minimal. Ana-
logt, om maximala vektorlängden är för stor (t.ex. 255 x 255 som kan
definieras med 16 bitar) så kommer den datamängd som krävs för att
definiera korta vektorer att bli onödigt stor, vilket resulterar i
minimal datareduktion.
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,
endast de båda högra kvadranterna att användas. Styrkoder möjliggör
kvadrantval och initiering och fullbordande av kurva. Startpunkter
definieras uteslutande med sina Y-värden, eftersom X-läget ingår i
kommer
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. Qetta följs av
ett "startpunkt-ord" B som ger Y-koordinaten för den lägsta start-
punkten i tecknets första X-rutnätlinje. Ordet B följs av en
"vektor-byte" som ger värdena dx och dy för en vektor från denna
startpunkt och därefter av ett ytterligare startpunkt-ord D som
definierar den näst lägsta punkten. Ytterligare ett startpunkt-ord
E definierar den högsta punkten på den första X-rutnätlinjen och en
vektor-byte F definierar en vektor från denna startpunkt. Om det
finns några startpunkter inom femton X-enheter från den första
rutnätlinjen, kan dessa infogas i sin vederbörliga Y-värde-ordnings-
följd. Tecken-datablocket fortsätter med vektor-bytes,"styr-bytes"
och start-ord C samt slutar med en "blockslut-byte" H som anger
blockets slut.
Fig. 6B, 6C, 6D och 6E visar formaten för start-ordet (25a),
startpunkt-ordet (25b), vektor-byte resp. styr-byte (28). Dessa
format är ritade med den minst signifikanta biten till höger.
Innebörden av symbolerna inom dessa ord och bytes är följande:
10
/15
20
25
30
35
UO
Start-ord:
X8X1X6Xs*uX3X2X1Xo
Startgunkt-ord:
%
Y9ï8ï7x6¥5Yuï3r2Y,ï0
Vektor-byte:
Y3Y2Y1Yo
N2N,N0
X3X2X1X0 -
17
456 050
Vänster referenslinje, storlek
Provbit, kan användas för
feldetektering.
Kedjebit, anger huruvida
detta ord inleder det sista
tecken-blocket.
underskärningsbit, bestämmer
riktningen av vänstra refe-
renslinjen (bort från eller i
riktning mot det föregående
tecknet). -
Antalet startord på tecknets
första rutnätlinje.
vertikala avståndet
mellan tecken-baslinjen
och startpunkten
(antingen positivt
eller negativt)
Ej definierad
“Ned-bit", bestämmer i
vilken av de båda högra
kvadranterna som den
efterföljande vektor-
förskjutningen kommer
att inträffa.
Antalet rutnätlinjer
mellan uppträdandet av
styrkoden “start ny
linje" och själva
startpunkterna.
S-
Detta värde definierar
den vertikala förskjut-
ningen mellan en
vektors början och slut.
10
456 050
x3X2X1Xo
Styr-byte
0 0 0 0
"3M2M1Mo
18
Detta är den horison-
tella förskjutningen
mellan en vektors
början och slut.
Dessa bitar definierar
en styr-byte, om de är
nollställda.
Dessa fyra bitar bildar
ett binärt tal (0 till
15) som anger en
"styr-funktion".
15 Styrfunktioner: Styrfunktioner erfordras genom hela tecken-blocket
och anges i styr-byte'n med dess fyra signifikanta bitar nollställ-
20
25
30
35
uo
da.
Detta gör det möjligt att definiera sexton olika funktioner med
de återstående fyra bitarnas numeriska värde.
O
1 och 2
3
8
9
10 och 11
12
13
Utfyllnad
Odefinierade
Start av tvâ konturer utan
nâgra mellanliggande konturer.
Start av två konturer under
de existerande.
Start av fyra konturer utan
några mellanliggande konturer.
Start av fyra konturer under
de existerande.
Ersätt ett existerande
kontur-värde med ett nytt
värde utan att ändra den
numeriska ordningsföljden
uppför rutnät-linjen (d.v.s.
avsluta en kontur och starta
en kontur).
Ej definierad
Block-avslutning.
Ej definierade
Avsluta två konturer
Avsluta fyra konturer
10
15
20
25
30
35
UO
4656 050
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 fig. 8, vänstra kolum-
nen. Mittkolumnen i fig. 8 beskriver denna kodning, och den högra
kolumnen visar den ordningsföljd 1 vilken data tillföres till och
utnyttjas av sättmaskinen.
Fig. 9 visar ett föredraget format för att definiera ett tecken
med upp-ned-vektorer (fig. 3, högra sidan). Dessa vektorer är
specificerade i en kvadrant genom koordinaterna X, Y för vektorns
slutpunkt i förhållande till kvadrantens origo. Eftersom konturerna
följes uppifrån och nedåt för tecknet, kommer endast de tvâ undre
kvadranterna att användas. Såsom vid det i fig. 6 visade formatet
tillåter styrkoder kvadrantval samt initiering och fullbordande av
kurva. Med detta format befinner sig rutnätlinjen Y=0 överst i
teckenområdet och på varandra följande horisontella rutnätlinjer ges
konsekutiva Y-nummer nedåt längs rutnätet.
Ett datablock som definierar tecknet börjar med ett "Y-dataord"
som ger tecknets högsta Y-startkoordinat. Detta ord följs av ett
"X-dataord" som definierar X-startkoordinaten för en kontur och
vektorerna och styrdata för denna kontur.
Samtliga följande konturer är ordnade så att startpunkt-Y-vär-
dena är i stigande ordningsföljd; d.v.s. Y-värdet för nästa kontur
är lika med eller större än Y-värdet för den närmast föregående
Pâ detta sätt definieras och fullbordas hela "strängar"
innan den nästföljande strängen defini-
kan vilken som helst
konturen.
eller sekvenser av vektorer
eras. Om två startpunkter har samma Y-värde,
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 050
20
Y-dataord:
XN - Dessa data definierar det horisontella läget för en
startpunkt. Vänstra referenslinjen (LSS) är definie-
rad såsom 0.
+/- - Teckenbiten definierar XN:s förskjutning 1 förhållande
till vänstra referenslinjen (LSB).
L - L-biten definierar dx-riktningen för den första
vektorn.
F - 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 - E-biten eller “extrapoleringsbiten" definierar huru-
vida extrapolering skall användas eller ej i området
ovanför rutnätlinjen YN.
B - 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 styrko
vad som f
0 - Slut på konturen.
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á
tecknets kontur. Den ursprungliga vektorn återfinns i
ordets mest signifikanta bitar (MSE) och den andra i
dess minst signifikanta bitar (LSE).
För samtliga värden på dy:0 definierar denna byte
d. på värdet på dx i enlighet med
ramgár nedan:
Den speciella koden bor
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 050
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. Denna
data-byte har ett resulterande vertikalförskjutningsområde
av 0 t.o.m. 255, men den skall ej användas från 0 t.o.m. 30.
4 - Definierar en vektor med en horisontell förskjutning av 1
enhet och en vertikal förskjutning av 30 enheter.
5 - Definierar en vektor med en horisontell förskjutning av en
enhet och en vertikal förskjutning av 60 enheter.
6 - Definierar en vektor med en horisontell förskjutning av 1
enhet och en vertikal förskjutning av 120 enheter.
- Definierar en vektor som följer en konkav kontur.
Samma som funktionen 7 men för en konvex kontur.
- Samma som funktionen 7 men för en rätlinjig kontur.
- Anger huruvida konturen har en liten eller en stor grad av
konkavitet eller konvexitet (denna bit avkännes endast om
biten 7 eller 8 anger konkavitet eller konvexitet).
11 - 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.
Pig. 10 och 11 visar hur ett tecken kan kodas med kodningssche-
mat enligt uppfinningen med användande av det i fig. 9 visade
I fig. 10 innehåller tecknet "A" ett antal startpunkter,
Den faktiska kodningen för
Den högra kolumnen
O\-O@-J
I
formatet.
slutpunkter och mellanliggande vektorer.
detta tecken visas i fig. 11, vänstra kolumnen.
i fig. 11 beskriver denna kodnings art.
Fig. 12 visar en konventionell magnetisk skiva 65, kallad flex-
skiva eller "floppy disk", vilken har uttagits ur sitt kartongfod-
ral. Skivan har en diameter av ungefär 203 millimeter och har en 38
millimeters central öppning för att kunna försättas i rotation av en
axel. Skivan kan vara magnetiskt känslig på den ena sidan eller på
båda sidorna, så att den binära informationen kan registreras och
10
15
20
25
30
35
UO
* 456 050
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). Sålunda
kan en lagringsplats på skivan specificeras genom spår och sektor,
varvid numren på ett spår och en sektor bildar en "adress". Varje
adress (spår och sektor) på skivan kan lagra upp till 250 bytes
information.
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. Den kodade teckeninformationen
kan lagras med början på godtycklig annan adress på skivan.
Skivetiketten beskriver innehållet i skivan i konventionella
bokstäver, som är kodade i konventionella latinska bokstäver, kodade
i binär form med en standardkod, exempelvis American Standard Code
for Information Exchange (ASCII). Stiltyp-innehållsuppgiften ger
begynnelseadressen för varje stiltyp som är registrerad på flexski-
van. Denna stiltyp-innehållsuppgift kan exempelvis bestå av en
följd av dubbla ord, varvid det första ordet definierar stiltyp-num
ret och det andra ordet spår- och sektoradressen för stiltypens
början. Om sålunda en användare önskar leta reda på stiltyp nummer
126, bringar han kalkylatorn att avsöka stiltyp-innehållsregistret
för att finna begynnelseadressen för denna stiltyp.
Stiltyp-informationen består av ett tecken-uppslags- och
breddregister, följt av datablock vilka definierar det antal tecken
som ingår i stiltypen ifråga. Tecken-datablocken 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. IH.
Detta register innehåller data som är tillämpliga på individuella
Teckenavbildningssys-
tecken som erfordras i ett sättningssystem.
temet eller sättmaskinen använder ej denna information.
Om tre bytes används för att definiera data för varje tecken,
»w
10
15
20
25
30
35
HO
456 050
23
så kan upp till 83 tecken beskrivas 1 en sektor. Varje tecken-
bredd-grupp om tre bytes innefattar tecken-nummer, teckenenhet-
-bredd- resp. "flagg"-bitar. Tecken-numret hänför sig till tecknets
form enligt tangentbords-arrangemang-nummer. Enhetsbredden är
tecknets bredd i 1/SN av en "em".
Flagg-bitarna är tilldelade bitar som definierar speciella
egenskaper för tecknet. Flaggbiten 6 är "B"-biten som anger att
tecknet har en utskjutande del i linje med den undre delen av
tecknet vilken ej får överhoppas när versalen skall alstras.
Flaggbiten 5 är "C"-biten, som anger att tecknet är ett mittcentre-
rat mönster, under det att flaggbiten 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
den första sektorn i de kodade teckendata.
När digitaliserad teckeninformation väl har kodats och lagrats
på en flexskiva måste den läsas, tolkas och avbildas av en typsätt-
anordning på en fotografisk film. Denna teckengenereringsprocess
kommer nu att beskrivas för det ovan beskrivna teckenkodningsschemat
i anslutning till fig. 3 - 1N, med arrangemang i det speciella
format som är visat i fig. 6 - 8. Fig. 15 visar den typ av data som
erfordras för en teckengenerator för att "svepa" ett tecken (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,
är dessa de angivna Y-värdena för til1/från-
Värdena refererar till
utgángs-avsökningslinje.
såsom visas i fig. 15,
-punkterna för varje avsökningslinje.
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 ga vidare och avsöka nästa linje.
I fig. 15 rör sig den avsökande stràlen i den första avsök-
ningslinjen NO (längst till vänster) vertikalt uppåt och fortskrider
med en konstant hastighet från baslinjen. Strålen förblir frånsla-
gen till dess att den har förflyttat sig en sträcka YO frán baslin-
Jen. I denna punkt slås strálen till och förblir tillslagen till
dess att den har förflyttat sig ett avstånd Y1 från baslinjen.
Därefter kan svepet fortsätta med strålen fránslagen till dess att
10
15
20
25
30
35
flO
456 050
2ü
det när rastermatrisens överkant. Företrädesvis kommer emellertid
strålen omedelbart att svepa tillbaka nedanför Y2 eller till baslin-
Jen och fortsätta med den andra avsökningslinjen H2. Detta återsvep
triggas genom att man förknippar "linje-slut"-flaggan med data Y1.
Den datasekvens som teckengeneratorn skall genomföra är så-
lunda: YO, gl, Y2, X3, IH, 12, Y6, 11, Y8, Y9, Y10, lll, ï12, Y13,
YIÅ, Xlâ etc., varvid “linjeslutfl-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 1 fig. 15 visade skärnings- 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 interoept-format (vertikal eller horisontell avsökning;
enkelt tecken eller dubbelt tecken per avsökningslinje) som an-
vänds. I den nedan beskrivna utföringsformen kan kodomvandlaren
omvandla det i fig. 6 - 8 visade formatet till ett vertikalt avsökt
intercept-format för enkelt tecken.
För att utföra omvandlingen från vektorformat till 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, X1, 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
U0
Åse oso
25
tecknets data motsvarar ett 32 punkters tecken i teckengeneratorns
upplösning, är det nödvändigt att multiplicera med en faktor större
än två för att uppnå ett 72 punkters utgàngsresultat. De vertikala
Y-värdena fördubblas helt enkelt, och teckengeneratorns multipliceï
rare verkställer den ytterligare anpassningen. Kodomvandlaren
sätter in tre ytterligare vertikala linjer i jämn delning mellan
varje par digitaliseringslinjer och använder linjär interpolation
för att uppskatta intercept-värden i enlighet med vad som visas i
fig. 18. I denna figur är de heldragna linjerna den digitala
original-upplösningen och de streckade linjerna är de tillfogade
interpolerade lägena. En "O" anger en digitaliseringspunkt som
härrör från vektoravkodningen och ett "X" anger en interpolerad
punkt. Om samtliga extra linjer matades ut vid den konstanta
utgångs-upplösningen, skulle tecknet bli fyra gånger så stort som
dess ursprungliga storlek (t.ex. 128 i stället för 32). Det är
därför möjligt att periodiskt utelämna linjer tvärs över tecknet för
att erhålla godtycklig bredd understigande denna storlek.
Under en viss inställd bredd kan man använda en medelvärdes-
bildningsteknik för att reducera datamängden. 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 digitaliseringspunkt som är härledd genom vektoravkodning, ett
"X" anger ett värde som har använts för att beräkna medelvärdet och
en streckad "O" är kodomvandlarens medelvärdesbildade utgångsvärde.
Som framgår av figuren beräknas utgångsvärdet ur samtliga mellanlig-
gande digitaliseringspunkter som värdet av den närmast föregående
utmatade linjen. Denna medelvärdesbildningsteknik resulterar i en
teckenförskjutníng uppgående till ungefär en halv utgångssvep-upp-
lösningsenhet åt höger.
Fig. 20 visar en tredje generationens (katodstrålerör-) sätt-
maskin 200 som kan anordnas för att matas med digitaliserade stilty-
per som är kodade i enlighet med uppfinningen. Denna maskin innehål-
ler en eller flera flexskive~läs/skriv-enheter (monterade på gejder
för att lätt kunna avlägsnas), en kortstomme som innehåller ett an-
tal elektronik-kretskort, ett katodstrálerör, ett högspännings-mat-
10
15
20
25
SO
35
U0
456 050 ,
26
ningsaggregat för detta katodstrålerör, en mekanism för transport av
ljuskänslig film för att förskjuta film förbi katodstrålerörets
skärm och in i en upptagningskassett. Sättmaskinen innehåller även
de konventionella frontpanel-manöverorganen och en hålremsläsare.
Fig. 21 visar anordningen för de olika komponenterna, av vilka
flertalet är av välkänd typ, dock med undantag för kodomvandlaren
och teckengeneratorn vilka i detalj kommer att beskrivas 1 det
följande.
Systemet styres av en central processorenhet 50 (en högkonoent-
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) SU. Systemets arbetssätt bestämmas
av ett program som_befinner sig 1 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 64 som tillhandahåller de digitaliserade
stiltyperna.
En hjälpbuss-interface-enhet och en hjälpbuss-buffert 66 styr
de till hjälpbussen SN 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-
Kodomvandlaren 70 tar ut komprimerade stiltyp-data
eller FROM-stiltypminne 72 och behandlar dessa data
En teckengenerator
en av tecknen.
från ett RAM-
för alstring av ett utsträckt intercept-format.
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ärkas 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 geometri. Tecknen alstras slutligen på ett
katodstrálerör 78 med elektromagnetiska avlänkningsspolar 80.
10
15
20
25
30
35
UO
456 050
27
Katodstrálen "slås till" och "slås ifrån"
under avsökningen genom den signal som kommer in pá ledningen BN
från teckengeneratorn 70. Elektronstràlen accelereras inom katod-
strâleröret medelst en hög spänning som tillföres från högspännings-
aggregatet 82.
Ljuskänsligt papper eller ljuskänslig film är i kontakt med
katodstrålerörets skärm-yta, så att latenta bilder av tecknen
bildas. En mekanisk filmtransportanordning 86 för fram papperet
etc. efter varje fullbordad teckenrad. En stegmotor i 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 6% 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 50 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 74 - 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 7U av välkänd
i avpassade ögonblick
10
15
20
25
30
35
HO
456 1050
28
konstruktion och de finns i marknaden att tillgå såsom standardkom-
ponenter. Under det att kalkylatorn 50 är programmerad, består
programvaran väsentligen av standardiserade dataförflyttnings- och
maskinstyrningsinstruktioner i en given ordningsföljd. Programvaran
ligger sålunda väl inom kompetensområdet för en fackman på program-
meringsomrádet.
Teckengenereringen sker på följande sätt:
Startpunkt och vektordata avseende den del av tecknet som skall
avbildas i en vertikal avsökningslinje adresseras (upprepas) från
RAM 72 och tillföres med låsning till kodomvandlarens ingángsbuf-
fert. Allteftersom varje avsökningslinje avbildas, infordras allt
efter behov de sekvensiella data som definierar startpunkter och
vektorer för nästföljande linje. Eftersom vektorerna kan sträcka
sig och normalt sträcker sig i X-riktningen tvärs över ett antal
vertikala avsökningslinjer, infordras en ny vektor endast om den
eller de närmast föregående vektorerna ej är tillfyllest för att
definiera nästa avsökningslinje.
Beräkningen av katodstrålerörets stråles omkopplingspunkter för
nästa avsökningslinje fortskrider därefter med användning av de
lutningar som är lagrade i nämnda vektorlutnings-FROM. Som framgår
av fig. 22A är de Y-intercept-lägen eller -värden för vilka strålen
skall slås till eller från lagrade i en s.k. register-stack 91 av
typen "först in, först ut" (FIFO). Y-intercept-värdena för varje
avsökningslinje införes i tur och ordning i successiva "Y-register"
i stacken, varvid det första eller lägsta Y-värdet placeras i det
nedersta Y-registret och successivt högre Y-värden i successivt
högre register. Det högsta Y-värdet i avsökningslinjen flaggas med
en ENDSC-bit (svep-slutbit) för att ange att svepet kan återstäl-
las. Utgàngssignalen från det nedersta Y-registret i stacken
omvandlas till ett analogt värde i en digital/analog-omvandlare 92 i
teckengeneratorn YH. 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örefínns på ledningen 96, kommer
rampgeneratorn 93 att áterställas för att alstra en Y-avlänknings-
spänning som är strax under Y-avlänkningsspänningen för nästföljande
10
15
20
25
30
35
HO
456 050
29
Y-intercept-värde. Härigenom undviker man överdrivet stort åter-
gångssvep och ökas utgàngshastigheten. CRT-strålen återställes
sålunda ej till teoknets 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
1 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. Återgångssvepsignalen
alstras av en logikkrets som innehåller en OCH-grind 97, en inverte-
rare 98 och en vippa 99 som tar emot en ingångssignal från Jämföra-
ren 9U och ENDSC-signalen på ledningen 96.
Återgångssveplogikens verkningssätt åskådliggöres i fig. 228.
Denna figur visar den CRT-Y-avlänkningsspänning som alstras av
rampgeneratatorn 93 under ett flertal svep över nämnda "Q" i enlig-
het med fig. 15. Vid början av det första svepet H3 infö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 1 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 X6 avger jämföraren 9U en signal
som slår om vippomkopplaren 95 från FRÅN till TILL och infordrar
nästa Y-värde, Y7, från FIFO-stacken 91. Y-avlänkningsspänningen
fortsätter rampen uppåt till dess att den når en spänning ekvivalent
med Y7. Eftersom nästa I-värde, Y8, är betydligt lägre än Y-avlänk-
ningsspänningen, fortsätter Jämföraren 94 att alstra en signal till
dess att rampgeneratorns utspänning har minskats. Eftersom en
ENDSC-bit är förknippad med Y7, förefinns en signal på ledningen
96. Utsignalen från Jämföraren 9U 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 94 och
återställer vippan 99 genom inverteraren 98. Detta medför att
återsvepsignalen elimineras och att rampspänningen tillåts att stiga
längs rampen på svepet HN. Y-avlänkningsspänningen kommer att
snabbt nå värdet Y8, vilken medför at: Jamföraren 914 acer-igen ser 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
k
r
10
20
25
30
35
HO
456 050
30
Y10 och slås ifrån igen när den när Y11. Eftersom en ENDSC-bit är
förknippad med Y11, upprepas återsvep-proceduren och svepet 45
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 teckengeneratorn 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 styringángar, vilkas tillstånd bestämmas av
kalkylatorn 50, initierar och styr operationer i
kodomvandlaren.
En styringångssignal som härrör från kalkylatorn
50 används för att fullständigt återställa
kodomvandlaren oberoende av tillstånden för alla
andra signaler.
Data-insignaler uppträder vid mottagning av en
XHBS-signal. Kodomvandlaren övertar då kontrol-
len av den s.k. "handskakningsoperationen" och
avger en signal på CYCREQ så snart den behöver
ett dataord. Ordet lås-lagras när datakällan
svarar med en signal på CYCACK, och CYCREQ-signa-
len faller.
När kodomvandlaren har fullbordat behandlingen av
ett tecken antar den ett "ledig"-tillstånd till
dess att teckengeneratorn sänder en signal pá
ledningen EMPTY. Kodomvandlaren avger då signa-
len pá EOC till dess att XBMS-signalen, som anger
data-insignal, avlägsnas.
11-bits dataord som representerar intercept-vär-
den eller strál-omkopplingspunkter överföras till
teckengeneratorn i serieform.
Kodomvandlaren alstrar en 5 MHz klocksignal,
vilken tillföres till teckengeneratorn för att
synkronisera bitarna i utgångs-dataordet (SDATA).
XBMS -
XRST -
CYCREQ -
CYCACK -
EOC -
SDATA -
SERCK -
10
15
20
25
30
35
HO
456 050
31
Om utgångs-dataordet hänförde sig till tecknets
högsta konturkurva i denna punkt, vidarebefordras
en signal till teckengeneratorn 7H på denna
ledning för att avsluta Isvepet.
Teckengeneratorn 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öras 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. Pulserna
uppträder i början av teckenbehandlingen innan
nâgra dataord tillföres till teckengeneratorn.
Teckengeneratorn avger en EMPTY-signal när dess
utgångsbuffert är tom. Denna signal används av
kodomvandlaren för att bestämma när ett tecken
har blivit fullständigt utritat.
Pig. 24 är ett blocksohema som visar kodcmvandlarens komponen-
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 103. Data från
de 16 XDB-linjerna inmatas till och kvarhålles i ingángsbufferten .
Huvudstyrorganet, som visas i fig. 25, alstrar H6 utgàngssig-
naler för att styra kodcmvandlarens funktion. Dessa signaler
tillföras 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-FROM 106 vilken
bestämmer nästa tillstånd för kodomvandlaren i jämförelse med det
ENDSC -
DATRQ -
DATAV
STEPDN -
STEPUP
EHPTY -
ter.
10
15
20
25
30
35
U0
456 050
32
aktuella tillståndet och tillstånden på 16 styr-ingångar. Nämnda
tillstånds-FROM adresseras med H signaler som mottages från en
multiplexer 108 och 5 signaler som mottages från en låskrets 110.
Vad som går ut från nämnda tillstånds-PROM tillföres till láskretsen
110, vilken i sin tur är ansluten till en tillståndsavkodare 112 och
en "pseudo"-tillstånds-PROM 114.
Denna pseudo-tillstånd:-FROM 113 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 N
styrsignalerna, i princip från avkodaren 102. Av de 8 utgångsresul-
taten från pseudo-tillstånds-PROM 11H avkodas 5 i en pseudo-till-
stånds-avkodare för_alstring av 24 styr-utgångssignaler.
Vektorbehandling: Fem parametrar lagras för vektorbehandling.
Dessa är följande:
(1) Intercept-värde (11 bitar). Intercept-värdet, som är
lagrat i intercept-minnet 120, är Y-värdet av på varandra följande
vektorändar kring en kontur. Sålunda:
Yo = ni startpunkt (:AxN,fAYN är den N=:e vektorn)
Y1 = Yo +/- EAXO
Y2 = Y, +/- zA!1
YN = YN_1 4-/-:«ÄÅYN_1 .
(2) iAX-värde (U bitar). EAX-värdet, som är lagrat i EAX-minnet
122, är det horisontella avståndet från högra änden av den aktuella
vektorn. Han har sålunda för successiva rutnätlinjeberäkningar:
ïAX = 3 N (ny vektor börjar här)
EAX = ïAX - 1 )
) minskade i efterhand
:AX = gßx _ 1 )
IAX = 1 (slut pá vektorn).
(3) [H-värde (5 bitar). Värdet .AY, som är lagrat i =ZH>min-
net 12U, ä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
251
30
35
HO
AY-värde, Soy.
456 050
33
tas $åS°m iflßåflßsväfdet På ÛYN och den minst signifikanta biten
införes medelst en uppslagstabell för att förbättra noggrannheten.
(N) Förtecken-biten (1 bit). Förtecken-biten, som är lagrad i
styrbit-minnet 126, är noll för en vektor i den ena kvadranten
(t.ex. den övre) och ett för en vektor i den andra kvadranten (t.ex.
den undre).
(5) Giitignecsbit (1 bit). oiitignetsbicen, 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 íAX-minnet 122 kvarhåller förskjutningen
till början av den första vektorn, varvid giltighetsbiten är noll-
ställd. Allteftersom var och en av rutnätlinjerna behandlas,
nedräknas äAX-minnet; när det når värdet "1" signalerar den efter en
vektor-byte. Intereept-minnet 120 uppdateras med åAY-värdet och AX
och ¿AY lagras. Giltighetsbiten 1-ställes, så att data blir till-
gängliga för utmatning. Denna beräkningsprocess åskådliggöres i
rig. 26.' vid efterföljande ruznä:-iinjer nearaknas sax-minnet 122
och äAY minskas med utgångsvärdet från en vektorlutnings-FROM 129.
Denna FROM adresseras med :AX och flóï 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 iAY i en
adderare 13k och återställes till HAY-minnet 12ü.
Samtliga kodomvandlarminnen är uppbyggda av 16 "djupa" direkt-
accessminnen (RAM). Dessa RAM adresseras parallellt från ett Ä-bit
16 djupt FIFO-register 1 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. 2
Nya startpunktadresser kan införas i slingan från ny-adress-
10
15
20
25
30
35
H0
456 050
3U
-räknaren och tillfogas till FIFO-stacken.
återladdas ej adressen i FIFO och den raderas därför från stacken.
Från början är 4-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 0 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 i vilken startpunktkoder
och vektorkoder uppträder i teckendata säkerställer att adresserna
införes 1 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. Det
uppdateras när konturer startas under de befintliga eller när den
befintliga nedersta konturen är avslutad och den närmast högre blir
den nedersta. Låsorganets utsignal jämföras fortlöpande med den
aktuella RAM-adressen, och när de är identiskt lika sänds en styr-
signal till huvudstyrorganet, vilken signal anger att en avsöknings-
linje just har fullbordats.
Detta RAM-adresseringssystem erbjuder en mycket snabb och
flexibel metod att cykliskt behandla ett variabelt antal konturer
under upprätthållande av en korrekt ordningsföljd utan några utskju-
tande delar vid linjernas ändar.
Skal-anpassning: Ett värde
punkter inmatas i ett skal-organ
påbörjas. Skal-organet har till
passa tecknet genom bestämning av den punkt i vilken Y-värden skall
Vid kontur-slutpunkterna
representerande teckenbredden i
136 innan behandlingen av vektorn
uppgift att horisontellt skal-an-
10
15
20
25
30
35
UO
456 050
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 ínterpolering 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
En U-fas-cykel används, varvid varje heltal uppträder två
Om antalet
gånger.
gånger och med olika antal repetitioner i varje fas.
repetitioner representeras av talen NO, N1, N2 och N3 och
heltalet under 16X/W representeras av M, så kan approximationen
uttryckas:
1sx '(N0 1 u>++<~2 X k>+(~3 X (M+1>)
w
Ett speciellt fall inträffar när storheten 16X/H själv är ett
helt tal, så att endast ett enda heltal används, varvid antalet
repetioner är utan betydelse.
Skal-organet visas i detalj i fig. 30. Bredd-registret inne-
håller det konstanta breddvärdet som tillhandahållas av kalkyla-
torn. Detta värde används för att adressera två PROM-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-
, /Ä
10
15
20
25
30
35
U0
456 050
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 i 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. Skal-organet
genomför en cykel vid slutet av behandlingen av varje rutnät-linje
för tecknet och efter utsändning av värdena för varje utgångs-svep.
Det avkända tillståndet för utgángs-linjesignalen bestämmer vilken
slinga som genomgás. Härav följer att varje skal-organ-cykel efter
en rutnät-linjeberäkning stegar ned linjeräknaren och varje
skal-organ-cykel efter en utmatningsoperation laddar linjeräknaren.
Vid små punkt-storlekar kommer "nej"-slingan att användas oftare,
eftersom ett flertal rutnätlinjer inträffar mellan de utgående
linjerna. Vid stora punkt-storlekar används á andra sidan "ja"-
-slingan oftare, eftersom ett flertal utgángslinjer inträffar mellan
rutnät-linjerna.
Interpolationsadressen tillföres helt enkelt från de mest
signifikanta bitarna i rest-lásorganet. Detta specificerar vilken
av interpolationslinjerna som erfordras.
Den medelvärdesbildande skalfaktorn bestämmer den "vikt" som
åsättsšåy-värdena vid alstringen av korrektionstermen. "Viktningen"
beror på det totala antal värden för vilka medelvärde skall bildas
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-
10
15
20
25
30
35
UO
i45e oso
3?
râknarens ingång ignorerar den minst signifikanta biten) och utgång-
en från linjeräknaren bestämmer vilken speciell_6y som är under
behandling. En FROM-uppslagstabell adresseras av dessa sex linjer
och en av åtta skalfaktorer väljes.
Intergolerad 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-PROM 132, vilket minne även tillföres
värdet (Sy från vektorlutningsmnon 129. utgången från interpola-
tions-PROM 132,-§y1, är en proportion av Öy vilken är avpassad
till interpolationsläget. Detta värde subtraheras från AY i addera-
ren 13U och uppträder på D-bussen. Det tillföres till ackumulatorn
125 via A-bussen, och B-bussen överför utgångsdata från intercept--
minnet 120. C-bussen överför det korrekta utgångsvärdet till
utgångsbufferten 138.
Utgångsbufferten
teokengeneratorn meddelar att den är klar att ta emot det.
-ö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
aktnella konturen "flaggar" kodomvandlaren teckengeneratorn efter
håller kvar det beräknade värdet till dess att
Serie-
överföringen på ENDSC-styrledningen.
Medelvärdes-utgång: Vid små punktstorlekar, där det finns mer
än tre rutnätlinjer mellan två på varandra följande utgångs-linjer,
kan en medelvärdesbildande algoritm användas för att beräkna Y-ut-
gàngsvärden. Korrektionsminnet 130 används för detta ändamål.
Detta minne innehåller ett korrektionsvärde som appliceras på värdet
i intercept-minnet 120 för alstring av utgàngsvärdet. Det medelvär-
desbildande systemet ignorerar interpolationslinje-adresser och ger
utgångsvärde andast för ett helt antal rutnätlinjevärden.
Beräkningen baseras på ekvationen för det aritmetiska medelvär-
det av värdena YO till Yn_1, vilken ekvation lyder:
n_
m
_;
Z
=0
_ 1 _' Q _ n , _
_ [H(YO 11) + n (Y1 YZ) + + H(ïn-1 Ynä + Yn'
10
15
20
25
30
35
HO
456 050
38
Uttrycket inom hakparenteserna är korrektionstermen. Medelvär-
det beräknas med utgångspunkt från Y-värdena på varje rutnätlinje
och bildande av medelvärdet av dessa mellan utgångslinjerna.
Sålunda blir n-1 antalet rutnätlinjer mellan utgångslinjerna och de
olika termerna är då y-utgångsvärdena från vektorlutnings-PROM 129.
Tillämpningen av ekvationen illustreras i fig. 32, där utgångs-
linjen vid G3 skall beräknas. Intercept-minnet innehåller värdet Y
för vektor-änden på G5 genom hela operationen. Sålunda har man:
Yn = Y - AX (interceptminnet minus Y-minnet)
Yo-X1 = åyo (vektorlutning FROM-utgång på G1)
2142 = -Sy1 ( " -- -- oz)
Y2-Y3 = åyz ( " -I " G3)
n = 3
Medelvärdet på Y för linjerna Go, G1, G2 blir
' 2
öyo + ï
mha
öY1 + 6Y2 + (Y-AY)
Det programmerbara korrektions-läsminnet (FROM) 1HO tar ut-
gångsvärdet dy från vektorlutnings-FROM 129 och multiplicerar det
med en faktor som är ungefär lika med den tillämpliga föregående
brâkdelen. Denna väljes medelst ett mindre FROM - kallat faktor-
val-PROM - i skal-organet 136 som adresseras med antalet rutnätlin-
jer mellan utgángslinjerna (divisorn) och det aktuella linjeantalet
(dividenden). Den tre-bit-kod som tillåter val av åtta skalfaktorer
avges av nämnda faktorval-FROM till nämnda korrektions-FROM.
Korrektionstermen är uppbyggd genom addition av utgångsvärdena
från ett korrektions-PROM 1UO till innehållet i korrektionsminnet
130. Detta minne raderas varje gång en utgångslinje uppträder och
börjar därefter bygga upp korrektionen för nästa utgängsvärde.
PROM-utgângsvärdet på B-bussen adderas alltid till 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
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 intercept-minnet 120 är vanligtvis ej
Yn i ekvationen ovan utan det är slutet på den aktuella vektorn.
Omedelbart före utmatníngen justeras därför korrektionsminnet med
10
15
20
25
30
35
HO
456 050
39
det aktuella värdet AX så att hänsyn tas till avvikelsen.
Utgångsvärdet beräknas slutligen i ackumulatorn 128 genom att
tillföra korrektionsminnets utgångsvärde på A-bussen och inter-
cept-mínnets utgângsvärde på B-bussen. C-bussen överför det korrek-
ta utgàngsvârdet till utgångsbufferten 138.
Som ovan nämnts kvarhåller utgångsbufferten det beräknade
värdet till dess att teckengeneratorn ger signal att den är klar att
ta emot detsamma. Serie-överföringen genomföres därefter, och nästa
utgångsvärde-beräkning kan börja. Om det överförda värdet hänför
sig till den högsta aktuella konturen, "flaggar" kodomvandlaren till
teckengeneratorn efter överföringen på ENDSC-styrledningen.
Ehuru de anordningar som ovan beskrivits utgör föredragna
utföríngsformer 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 (3)
1. Sättmaskinanordning för automatisk alstríng av tecken och innefattande ett teckenavbildningssystem för att skriva grafiska teckens kvalitet uppvisande tecken av godtyckligt utseende pà ett tryck-underlag; ett stiltyp-lagringssystem i vilket digitala data är lagrade vilka definierar varje tecken som skall avbildas (64, 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ök- ningsanordníng för att skriva tecken medelst ett flertal parallella avsökningssvep av en avsökningsstråle (78); och varvid beräknings- och styrsystemet innefattar (a) organ för att alstra en stràlavlänkningssignal som be- stämmer graden av avlänkning för avsökningsstrålen i varje sveps riktning, varvid strålavlänkningssignalen är anordnad att åstad- komma att pâ varandra följande stråk startar väsentligen i intercept-punkten på ett teckens ena sida och slutar väsentligen i intercept-punkten på den motsatta sidan av tecknet (74, 76, 80).
2. Anordning enligt kravet 1 , k ä n n e t e c k n a d av att beräknings- och styrsystemet dessutom innefattar: (b) organ för att åstadkomma direktaccess till nämnda lagrade digitala data och att tillföra avge dessa digitala data i tur och ordning (70, 72); samt _ (c) organ som är anordnat att ta emot nämnda digitala data i tur och ordning för att omvandla dessa data till tecken-intercept- -värden för varje av avsökningsanordningen utfört linjesvep (70); varjämte nämnda signalalstringsorgan innefattar: (1) organ för att alstra en analog spänning vilken är represen- tativ för pâ varandra följande intercept-värden för varje avsök- ningslinje (92); (2) rampgeneratororgan för att alstra en rampspänníng med väsentligen konstant lutning, vilket rampgeneratororgan har en áterställningsingâng som åstadkommer att rampspänningen snabbt återgår till ett givet värde (93); och (3) organ som är anordnat att som svar på påverkan dels från nämnda organ för att alstra en analog spänning och dels från rampgeneratororganet tillföra en återsvepsignal till nämnda âterställningsíngâng, varvid àtersvepsignalen är anordnad att *H 456 050 bringa rampspänningen att återgå till nämnda givna värde (9N, 97-99).
3. Anordning enligt kravet 2, k ä n n e t e c k n a d av act, nämnda givna värde på rampspänníngen motsvarar det lägsta inter- cept-värdet för nästföljande avsökningslinje (46).
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 (3)
Publication Number | Publication Date |
---|---|
SE8502470D0 SE8502470D0 (sv) | 1985-05-20 |
SE8502470L SE8502470L (sv) | 1985-05-20 |
SE456050B true SE456050B (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 (2)
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 |
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 |
JPS6075978A (ja) * | 1983-10-03 | 1985-04-30 | Photo Composing Mach Mfg Co Ltd | 文字画像デ−タの処理方法 |
JPH0613212B2 (ja) * | 1983-10-03 | 1994-02-23 | 株式会社写研 | 文字画像デ−タの処理方法 |
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 |
US4686635A (en) * | 1984-09-10 | 1987-08-11 | Allied Corporation | Method and apparatus for generating a set of signals representing a curve |
US4688182A (en) * | 1984-09-10 | 1987-08-18 | 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 |
US4686633A (en) * | 1984-09-10 | 1987-08-11 | Allied Corporation | Method and apparatus for generating a set of signals representing a curve |
DE3585064D1 (de) * | 1984-09-10 | 1992-02-13 | Linotype Co | Verfahren und geraet zur erzeugung eines satzes von eine kurve darstellenden signalen. |
DE3584967D1 (de) * | 1984-09-10 | 1992-01-30 | Linotype Co | Verfahren zur erzeugung eines satzes von eine kurve darstellenden signalen. |
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 |
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 |
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 |
US5261032A (en) * | 1988-10-03 | 1993-11-09 | Robert Rocchetti | Method for manipulation rectilinearly defined segmnts to form image shapes |
AU624137B2 (en) * | 1988-10-03 | 1992-06-04 | Sun Microsystems, Inc. | Method and apparatus for image manipulation |
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 | 位置合わせ装置 |
DE69110213T2 (de) * | 1990-02-27 | 1995-10-26 | Seiko Epson Corp | Verfahren zur erzeugung von punktsignalen für zeichenmuster und einrichtung hierzu. |
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 |
EP0594304B1 (en) * | 1992-10-20 | 2000-06-07 | Network Computing Devices, Inc. | Opcode specific compression for 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 CA000327232A patent/CA1121056A/en not_active Expired
- 1979-05-09 CA CA327,231A patent/CA1105620A/en not_active Expired
- 1979-05-10 IT IT48998/79A patent/IT1116588B/it active
- 1979-05-11 GB GB8134818A patent/GB2089179B/en not_active Expired
- 1979-05-11 DE DE2954383A patent/DE2954383C2/de not_active Expired
- 1979-05-11 FR FR7912107A patent/FR2425677B1/fr not_active Expired
- 1979-05-11 DE DE19792919013 patent/DE2919013A1/de active Granted
- 1979-05-11 GB GB7916520A patent/GB2020520B/en not_active Expired
- 1979-05-11 DE DE2953600A patent/DE2953600C2/de 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 |
---|---|
JPS54149522A (en) | 1979-11-22 |
SE7904009L (sv) | 1979-11-13 |
SE456049B (sv) | 1988-08-29 |
JPH021787U (sv) | 1990-01-08 |
DE2919013C2 (sv) | 1989-04-27 |
SE8501905D0 (sv) | 1985-04-18 |
DE2919013A1 (de) | 1979-12-06 |
DE2954383C2 (sv) | 1987-07-02 |
FR2425677A1 (fr) | 1979-12-07 |
IT7948998A0 (it) | 1979-05-10 |
FR2425677B1 (fr) | 1985-05-31 |
SE8502470D0 (sv) | 1985-05-20 |
DE2954383A1 (sv) | 1985-03-21 |
GB2089179B (en) | 1982-12-08 |
SE446705B (sv) | 1986-10-06 |
JPS61258285A (ja) | 1986-11-15 |
SE8502470L (sv) | 1985-05-20 |
DE2953600C2 (de) | 1985-06-27 |
JPS59170883A (ja) | 1984-09-27 |
GB2020520A (en) | 1979-11-14 |
CA1121056A (en) | 1982-03-30 |
US4199815A (en) | 1980-04-22 |
IT1116588B (it) | 1986-02-10 |
JPH0224895U (sv) | 1990-02-19 |
GB2089179A (en) | 1982-06-16 |
CA1105619A (en) | 1981-07-21 |
JPS59176048A (ja) | 1984-10-05 |
GB2020520B (en) | 1982-11-17 |
CA1105620A (en) | 1981-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SE456050B (sv) | Settmaskinanordning for automatisk alstring av tecken | |
US4298945A (en) | Character generating method and apparatus | |
US4254468A (en) | Typesetter character generating apparatus | |
US4029947A (en) | Character generating method and system | |
DE2940897C2 (de) | Digitales Setzgerät | |
EP0016001B1 (en) | Method of and apparatus for reproduction of character images, particularly for typesetting apparatus | |
EP0526295A2 (en) | Image forming apparatus | |
EP0180258A1 (en) | Decoder | |
EP0091124B1 (en) | Video signal generating circuit | |
GB2183428A (en) | Pattern forming apparatus | |
KR880001307B1 (ko) | 문자패턴의 발생방법 | |
EP0392499A3 (en) | Apparatus for generating high-quality character pattern | |
CA1130925A (en) | Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data | |
JP2952915B2 (ja) | ドットパターンデータ発生装置 | |
SE437891B (sv) | Apparat for generering av tecken | |
JP2003099771A (ja) | データ変換装置およびその方法、並びに当該方法を用いたプログラム | |
JPS632118B2 (sv) | ||
KR870000433B1 (ko) | 문자. 도형의 기억방법 및 사진 식자장치 | |
JPH05257452A (ja) | 文字信号発生装置 | |
JP2762768B2 (ja) | アウトラインデータ描画装置 | |
JP2813191B2 (ja) | 書体自動変換方式 | |
KR900006731B1 (ko) | 바름체 문자로 빗김채 문자 인자방법 | |
JPH0612044A (ja) | 文字パターン情報生成装置 | |
JPH01249461A (ja) | フォント表現方式 | |
JPS62207653A (ja) | 文字出力方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NUG | Patent has lapsed |
Ref document number: 8502470-1 Effective date: 19891128 Format of ref document f/p: F |