SE456049B - Settmaskinanordning for automatisk alstring av tecken - Google Patents

Settmaskinanordning for automatisk alstring av tecken

Info

Publication number
SE456049B
SE456049B SE8501905A SE8501905A SE456049B SE 456049 B SE456049 B SE 456049B SE 8501905 A SE8501905 A SE 8501905A SE 8501905 A SE8501905 A SE 8501905A SE 456049 B SE456049 B SE 456049B
Authority
SE
Sweden
Prior art keywords
character
vector
characters
data
value
Prior art date
Application number
SE8501905A
Other languages
English (en)
Other versions
SE8501905D0 (sv
Inventor
D J Kyte
W I Hansen
R I Craig
Original Assignee
Linotype Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Linotype Co filed Critical Linotype Co
Publication of SE8501905D0 publication Critical patent/SE8501905D0/sv
Publication of SE456049B publication Critical patent/SE456049B/sv

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41BMACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
    • B41B19/00Photoelectronic composing machines
    • B41B19/01Photoelectronic composing machines having electron-beam tubes producing an image of at least one character which is photographed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41BMACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
    • B41B27/00Control, indicating, or safety devices or systems for composing machines of various kinds or types

Description

10 15 20 25 30 35 HO 456 049 2 maskiner är ej endast billigare än sina första generationens föregångare, utan förbättringar avseende maskinerna ledde till högre hastigheter, bättre kvalitet och större typografisk flexibilitet.
Fototyp-sättmaskinerna upplever för närvarande en period av maximal utnyttjning inom den grafiska industrin, men de förbättras genom införandet av den tredje generationens maskiner, nämligen de sätt- maskiner som är baserade på katodstrálerör och laser.
I de på katodstrâlerör baserade sättmaskinerna, i fortsätt- ningen även kallade CRT-sättmaskiner, alstras tecken elektroniskt och skrivs på fotografisk film, varigenom man eliminerar det mesta av de mekaniska rörelser som är kännetecknande för andra generatio- nens fotosättmaskiner. Denna ändring från mekanik till elektronik resulterar i ännu högre hastighet och större typografisk flexibili- tet liksom även färre inställningar och färre ändringar i lagrade typslag, som erfordras vid alla sättmaskiner av den andra generatio- nen. CRT-sättmaskinerna är i regel dyrare än sina motsvarigheter i den andra generationens sättmaskiner, och ehuru de har blivit de dominerande maskinerna på tidningsmarknaden har de ännu ej mer än börjat vinna insteg pà andra områden än tidningsomràdet. Det förutses emellertid att priserna pá CRT-sättmaskiner kommer att reduceras allteftersom volymen ökar och nya maskiner utvecklas för att dra fördel av framstegen inom tekniken för elektroniska kretsar.
Det förekommer allmänt sett två metoder medelst vilka typslag lagras i den tredje generationens sättmaskiner. maskinerna lagrar typmallar på fotografiska filmgaller.
De s. k. "analoga" Dessa mallar avsökes med en ljusfläckavsökare ("flying spot"-scanner) samtidigt som tecknet avbildas i lämplig storlek på det som utgångs- organ tjänstgörande katodstråleröret. En andra klass sättmaskiner, de s.k. "digitala" maskinerna, är baserade på stilmallar som har kodats i digital form och lagrats på något slag av digitalt lag- ringsmedium i maskinen. Med dylika digitala maskiner är möjligheten att lagra eflistort typslag-bibliotek i sättmaskinen begränsat endast av kostnaden för att tillhandahålla ett lagringsmedium av lämplig storlek, varför det normalt ej är nödvändigt för användaren att upprepade gånger "bestycka" maskinen genom insättning av nya typ- slag. Härtill kommer att de digitala maskinerna är åtminstone dubbelt så snabba som de snabbaste analoga maskinerna (med fotogra- fiskt minne) och är i stånd att åstadkomma skarpare, mera líkformíga tecken än de analoga maskinerna.
Ursprungligen, när digitala CRT-sättmaskiner först introduce- Ü» 10 15 20 25 30 35 HO 456 049 3 rades, gällde det i fråga om framställning av digitala typslag-mal- lar i första hand data-reduktion. För att reproducera tecken för vilka man ej kunde se någon skillnad i förhållande till tecken som avbildats medelst fotografiska mallar eller tryckts med konventio- nella handsatta typer är det nödvändigt att koda varje tecken med ett relativt fint rutnät eller raster, d.v.s. en matris med hög upplösning eller rasterelement-täthet. Såsom ett minimum och för små tecken kan rutnätet innefatta 70 kolumner och 100 rader eller 7.000 rasterelement. Om närvaro eller frånvaro av en del av ett tecken i varje rasterelement representeras av en bit, erfordras 7.000 informationsbitar för att representera samtliga element i rutnätet eller matrisen. I amerikanska patentskriften 3 305 8H1 (Schwartz) beskrivs en CRT-sättmaskin i vilken det erforderliga antalet bitar för att representera ett tecken är reducerat med en faktor som är minst lika med 3 och som i medeltal uppgår till 5 eller däröver. Denna datareducering åstadkommes genom att man med en digital kod identifierar startpunkten och slutpunkten av linjese- gment (svarta partier) i ett tecken i varje rad eller kolumn i rutnät-mönstret. I ett rutnät som innehåller 7.000 rasterelement reduceras sålunda de data som erfordras för att definiera ett tecken från 7.000 bitar till ungefär 1.500.
I amerikanska patentskriften 3 N71 8U8 (Manber) beskrives en förbättring i det ovannämnda systemet vilken tillåter ytterligare reducering av erforderliga data. I detta system är start- och slutpunkterna för ett linjesegment inom en rad eller kolumn i rutnätet kodade som ökningssteg eller minskningssteg i förhållande till startpunkten respektive slutpunkten på ett linjesegment i den föregående raden eller kolumnen. Datakompression uppnås eftersom de tal som erfordras för att definiera ändringssteg-adresserna för ett linjesegment är mindre än de tal som erfordras för att definiera de absoluta adresserna. Även i amerikanska patentskrifterna 3 305 BU1 och 3 H71 8U8 beskrivs ett antal ytterligare tillvägagångssätt för datakompression vid digitalt kodade tecken: (1) Anordnandet av en kod som anger antalet blanka rader eller kolumner på den ena eller den andra sidan (eller på båda sidorna) av tecknet. (2) Anordnandet av en "linjerepetitionskod" som anger att linjesegmentet eller -segmenten i en rad eller en kolumn är i samma läge(n) som i den föregående raden eller kolumnen. 10 15 20 25 30 35 NO 456 049 U (3) Anordnandet av en kod som anger att en vald linjestartkod- adress eller linjeslutkodadress skall upprepas ett förskrivet antal gånger.
Trots de olika tillvägagàngssätten för datareducering är digitala stiltypmallar som åstadkommits i enlighet med vad som beskrives i amerikanska patentskrifterna 3 305 BH1 och 3 H71 8H8 avsevärt mera kostnadskrävande än de fotografiska mallar som används vid analoga CRT-sättmaskiner. Det finns två grundläggande skäl för detta: (1) De digitala maskinerna åstadkommer olika stilstorlekar genom att variera avståndet mellan svepen i utgångsröret. Det finns praktiska gränser för hur långt upp och ned en bilds storlek kan varieras på detta sätt. Dessa maskiner har därför krävt ett flertal olika typmallar för att täcka ett fullständigt stilstorleksområde. (2) Digitalisering av stiltyper är en långsam, tidskrävande process. Stilmallar förbereds först på ett standardrutnät och avsökes därefter automatiskt i och för bestämning av vilka raster- punkter i rutnätet som faller inom tecknet ifråga. Den som resultat erhållna punktmatrisen "digitaliseras“ sedan i enlighet med en speciell kod och lagras i en maskinläsbar form.
I amerikanska patentskriften U 029 937 (Evans m.fl.) beskrives en teckenkodnings- och -avkodningsschablon för en CRT-sättmaskin vilken gör det möjligt att eliminera den förstnämnda av de ovan angivna nackdelarna. Detta ástadkommes genom att man kodar den normaliserade teckenkonturen (till skillnad från storleksrelaterade rad- eller kolumnlinjesegment av tecknet) med en serie av pá varandra följande lutningar och krökningar från en eller flera ursprungliga startpunkter för tecknet. För detta ändamål har kodaren ett stort antal lutningar och krökningar tillgängliga att välja bland, varvid var och en av dessa lutningar och krökningar är identifierad med sitt individuella binärkodnummer.
Ett annat teckenrepresentationssystem som behandlar tecken såsom bestående av normaliserade teckenkonturer har använts den av SEACO Computer Display i Garland, Texas, U.S.A. under handelsbenäm- ningen Model 1601 tillverkade CRT-sättmaskinen. är beskriven i publikationen Seybold Report, vol. 1, n:ris 12 och 13 (14 och 28 februari 1972), lagrar de absoluta koordinaterna för ett Datareducering kunde åstadkommas Denna maskin, som antal punkter på tecknets kontur. eftersom mellanliggande punkter pá konturen mellan lagrade punkter antogs följa räta linjer mellan de lagrade punkterna. 10 15 20 25 30 35 U0 456 049 5 SEACO's CRT-sättmaskin Model 1601 och den i amerikanska patent_ skriften H 029 QU7 beskrivna sättmaskinen bestämmer för avbildningen av tecknet inom ett område av punktstorlekar erforderliga data ur en enda uppsättning kodade teckenkonturdata medelst en beräkningsopera- tibn som utföres antingen maskinvarumässigt eller programvaru- mässigt. I motsats härtill genomför de CRT-sättmaskiner som beskri- ves i amerikanska patentskrifterna 3 305 8U1 och 3 H71 8fl8 ett minimum av beräkningar, eftersom den information som erfordras för att "rita" konsekutiva línjesegment (d.v.s. startadressen och slutadressen för varje linjesegment), finns i de ifrågavarande data.
Ehuru sålunda ett flertal system för digital kodning av tecken har beskrivits inom det tekniska området för CRT-sättmaskiner, har hittills inget system framkommit vilket på ett optimalt sätt uppfyl- ler alla föreliggande krav. Dessa krav är: (1) Kodningssystemet bör ekonomisera med utrymmet i det digi- tala minnet. (2) En enda uppsättning data som definierar ett tecken bör vara användbart för att alstra teckenbilder i alla punktstorlekar. (3) De kodade data bör kunna omvandlas till den form som erfordras för styrning av katodstráleröret (CRT) med en relativt enkel beräkningsoperation som är lätt att automatisera.
(H) Teckenkodningssystemet bör vara definierat av regler som lätt kan automatiseras, så att de kodade data kan alstras från fotomallar, rä-punktmatriser eller någon annan kod medelst en digital kalkylator.
Föreliggande uppfinning åstadkommer ett digitalt kodningssystem för tecken eller symboler samt ett därtill hörande stiltyplagrings- system vilket uppfyller samtliga ovan uppräknade krav.
Enligt uppfinningen definieras tecken genom att man kodar deras konturer i ett normalt rutnät av första och andra koordinater enligt följande: (1) En startpunkt i ett tecken väljes och den första och den andra koordinatens värden för denna punkt lagras. (2) En eller flera rätlinje-vektorer väljes, vilka sträcker sig i serie efter varandra längs tecknets kontur från startpunkten och vilka med god approximation följer konturen. Varje vektor represen- teras sedan av ett första digitalt tal som definierar den första koordinatens avstånd och ett andra digitalt tal som definierar den andra koordinatens avstånd frán vektorns ena ände till den andra.
Systemet med vektorkodning av konturen enligt uppfinningen 10 15 20 25 30 35 U0 456 049 b uppfyller de fyra krav som ovan specifioerats. Kodningssystemet ifråga är framförallt sparsamt med utrymme och minne. Enligt ett föredraget särdrag hos uppfinningen har nämnda första och andra gdigitala tal vilka definierar varje vektor en begränsad storlek.
Vid en måttlig upplösning, exempelvis N32 enheter i "em"-kvadraten, kan de utgöras av N-bits-tal, så att en vektor exempelvis represen- teras av en byte (åtta databitar). En analys har visat att den helt dominerande delen av vektorer som erfordras för att definiera ett tecken ligger inom 15 enheter i den första och den andra koordina- tens riktningar på "rutnätet". Vektorkodningssystemet innefattar dessutom ökningssteg-avstånd i såväl den första som den andra koordinatens riktning från den närmast föregående vektorns spets.
Dessa ökningssteg-avstånd kan definieras med mindre information än vektorspetsens absoluta koordinater. Dessutom presenteras start- punkten och vektorns data i en föreskriven ordningsföljd vilken i sig själv förknippar ifrågavarande data med specifika teckenkontu- rer. Som resultat av dessa tre faktorer är kodningssystemet enligt uppfinningen fördelaktigt i jämförelse med samtliga tidigare före- slagna system för digitalisering av tecken i vad avser den mängd data som erfordras för att definiera ett tecken och i komplexiteten och hastigheten för de maskinvaruanordningar som erfordras för att behandla dessa data.
Vidare krävs endast en uppsättning teckenkodningsdata enligt uppfinningen för att alstra typbilder av alla storlekar. Det är endast nödvändigt att beräkna skärningspunkterna mellan varje horisontellt eller vertikalt svep och teckenkonturerna för att bestämma när katodstrálerörets strále eller laserstrálen skall "slås till" eller "slås ifrån" . kodade data gör det möjligt att utföra denna beräkning med ett minimum av uppbàd i form av maskinvara (eller programvara) och med De rätlinjevektorer som definieras av de hög hastighet.
Slutligen kan teckenkodningsdata enligt uppfinningen automa- tiskt härledas ur rå-punkt-matrisinformation eller från någon annan digitaliserad kod på relativt enkelt sätt med användning av en programmerad digital kalkylator. I enlighet med en föredragen kodningsmetod enligt uppfinningen väljer man första rätlinje~vekto- rerna genom att först bestämma konsekutiva koordinatpunkter på varje kontur för vilken konturen avviker mindre än ett föreskrivet avstånd från en mellan punkterna ifråga dragen rät linje. Så snart kontur- punkterna har bestämts, subtraheras det första och det andra koordi- 10 15 20 25 30 35 RO 456 049 7 natvärdet för var och en av de efter varandra följande punkterna från det första och andra koordinatvärdet för den föregående punkten för bestämning av koordinat-ökningsstegen från punkt till punkt.
Dessa ökningssteg lagras sedan såsom U-bits första och andra digi- tala tal som definierar varje vektor.
Sammanfattningsvis uppvisar stiltyplagringssystemet enligt uppfinningen en kombination av särdrag som gör det på ett unikt sätt lämpat för att definiera stiltyper i digital form. Ytterligare särdrag och fördelar för systemet enligt uppfinningen kommer att framgå av följande detaljerade beskrivning 1 anslutning till på bifogade ritning med fig. 1 - 32 visade utföringsexempel. Pig. 1 visar ett normaliserat X-Y-rutnät på vilket konturen av versalen Q är överlagrad. De koordinatskärningspunkter som befinner sig närmast konturen är likaledes inritade. Fig. 2 är ett normaliserat X-Y-rutnät liknande det i fig. 1 visade varvid vissa skärningspunk- ter som representerar teckenkonturen har utelämnats. Pig. 3 är ett normaliserat X-Y-rutnät liknande de i fig. 1 och 2, i vilket ytter- ligare skärningspunkter har utelämnats och rätlinje-vektorer har insatts mellan de återstående punkterna i enlighet med uppfin- ningen. Fig. U är en provmatris som används för automatiskt val av vektorer i enlighet med uppfinningen för att representera en tecken- kontur. Fig. 5 är ett flödesschema som visar de steg som tas vid det automatiska valet av vektor för att representera en teckenkon- tur. fig. 6A-E visar ett föredraget format för digitala data för teckenkodningssystemet enligt uppfinningen. Pig. 7 visar ett normaliserat X-Y-rutnät med konturerna för ett representativt "tecken" vilket är definierat genom startpunkter och vektorer som följer det till vänster i fig. 3 visade arrangemanget. Pig. 8 visar den faktiska kodningen för det i fig. 7 visade tecknet med använd- ning av det i fig. 6 visade dataformatet. Fig. 9A - 9D visar ett annat föredraget format för digitala data för teckenkodningssystemet enligt uppfinningen. Fig. 10 visar ett representativt tecken som är överlagrat på ett normaliserat X-Y-rutnät med tecknets konturer definierade genom startpunkter och vektorer som följer arrangemanget i högra delen av fig. 3. Fig. 11 visar den faktiska kodningen för det i fig. 10 visade tecknet med användnig av det i fig. 9 visade dataformatet. Fig. 12 är en planvy av en hård sektorindelning Fíg. 13 är ett diagram som visar hur stiltyp och teckendata är arrangerade (regist- rerade) på en flexskiva. Fig. 1U är ett diagram som i detalj visar uppvisande flexskiva med sektorer och spår inritade. 10 15 20 25 30 35 HO 456 049 8 2 teckensöknings- och breddregistret i fig. 13. Pig. 15 visar versa- len Q alstrad av vertikala "svep" på ett katodstrålerörs skärm PÅE = 1§¿ visar ett typiskt tecken som har sin kontur begränsad av rät- linje-vektorer som skär vertikala avsökningslinjer. Pig. 16B visar hur tecknet i fig. 16A avbildas med en speciell teckenbredd medelst de vertikala avsökningslinjerna. Pig. 17A visar ett typiskt tecken som har sin kontur begränsad av rätlinje-vektorer vilka skär verti- kala avsökningslinjer. Pig. 17B visar hur tecknet i fig. 17A avbildas med en speciell teckenbredd medelst de vertikala avsök- ningslinjerna. Pig. 18 visar hur streck-ändpunkter (skärningsvär- den) bestämmes genom interpolation ur kodade teckendata. Pig. 19 visar hur streck-ändpunkter (skärningspunktvärden) bestämmes genom medelvärdesbildning ur kodade teckendata. Pig. 20 är en perspektiv- bild av en CRT-sättmaskin med en del komponenter visade i punkt- streckade linjer. Pig. 21 är ett blockschema över komponenterna i den i fig. 20 visade sättmaskinen. Pig. 22A och 22B är blockschema resp. signaldiagram som visar uppbyggnaden av och arbetssättet för det i fig. 21 visade teckengeneratorelementet. Pig. 23 visar kodomvandlarelementet i fig. 21 med sina olika ingångar och ut- Pig. 2ü är ett blockschema över komponenterna i den i fig. 21 och fig. 23 visade kodomvandlaren. Pig. 25 är ett blockschema över huvudstyrorganet i den i fig. 24 visade kodomvandlaren Pig. 26 är ett geometriskt diagram som visar den av kodomvandlaren genom- Fig. 27 är ett flödesschema som Pig. 28 är ett geometriskt diagram som visar den av kodomvandlaren genomförda Pig. 29 är ett blockschema över kodomvand- Pig. 30 är ett blockschema över kodomvandlarens skal-element. Pig. 31 är ett ytterligare flödesschema som visar verkningssättet för kodomvandlarens skal-ele- ment, och fig. 32 slutligen är ett geometriskt diagram som visar den av kodomvandlaren genomförda medelvärdesbildningsprocessen.
De föredragna utföringsformerna av uppfinningen skall i det följande beskrivas i detalj. hänför sig till stiltyp-lagringssystemet med dess nya och fördelak- tiga system för digital kodning av tecken eller symboler. Den andra delen avser anordningar som kan avbilda tecken vilka är definierade gångar. förda vektorberäkningsprocessen. visar arbetssättet för kodomvandlarens skal-element. interpolationsprocessen. larens direktaccess-adresseringsdel.
Den första delen av detta avsnitt IW. av stiltyp-lagringssystemet. = Pig. 1 visar t. ex. en mycket förstorad versidn av en versal "Q" som är överlagrad på ett rutnät eller en matris av horisontella 10 15 20 25 30 35 HO 456 049 9 och vertikala linjer. Varje tecken eller symbol som har registre- rats finns på ett sådant rutnät. Horisontella och vertikala upplös- ningen har i fig. 1 visats såsom varande lika stora, men detta är ej nödvändigt. Tecknen kan vara av godtycklig bredd och de är place- rade på en “baslinje". Varje tecken eller symbol antas dessutom innehålla ett "vitt område" omkring tecknet och är försett med teckenbredd-kanter som kallas vänster och höger referemslinje.
Linjerna i det i fig. 1 visade rutnätet kan representeras (numreras) med X- och Y-koordinaterna i ett kartesiskt koordinat- system. En godtycklig punkt inom rutnätet kan benämnas med koordi- naterna för den närmaste skärningspunkten mellan en horisontell och en vertikal linje. Den längst till vänster befintliga vertikala kanten av tecken-zonen kallas X=0 och den horisontella baslinjen kallas Y=0.
När ett tecken, exempelvis den i fig. 1 visade versalen Q, skall digitalkodas, måste den först prickas in i rutnätet på sådant sätt att samtliga värden på X och Y representeras såsom hela tal.
Genom att brákdelar elimineras från koordinatvärdena kan de tal som representerar X och Y hållas små. Som framgår av fig. 1 är kontu- rerna av tecknet "Q" inritade genom val av de närmast liggande skärningspunkterna i rutnätet. Var och en av dessa punkter kan sålunda representeras av sina koordinater X och Y, där X och Y är hela tal. Det är därför möjligt att fullständigt definiera - d.v.s. digitalt koda - tecknet genom att göra en lista över samtliga dessa koordinater, företrädesvis i någon systematisk ordningsföljd.
Eftersom emellertid rutnätet eller matrisen måste ha tillräcklig linjetäthet för att eliminera ett kantigt utseende, så skulle en definiering av tecknet på detta sätt även om tecknet avbildas i sin största punkt-storlek kräva ett orimligt stort minnesutrymme. Det finns exempelvis i den i fig. 1 visade versalen av tecknet "Q" 267 konturkoordinatpunkter som är definierade inom en matris 60 x 80.
Om matristätheten ökas med en faktor 10 i var och en av de mot varandra vinkelräta riktningarna (en mera praktisk matris för kvalitets-sättmaskiner) skulle tecknet "Q" ha ungefär 2.500 koordi- natpunkter. Eftersom varje koordinat i en matris om 600 x 800 kräver 20 databitar för sin definition, (10 bitar för vardera X och Y), skulle man behöva 50 kbits för att representera versalen "Q".
Eftersom en typisk stílsats har mer än 100 tecken, skulle en sätt- maskin behöva ha ett snabbt minne med en kapacitet av ungefär 60 miljoner bitar för att lagra en enda stilsats i denna typ av kod. 10 15 20 25 30 35 HO 456 049 (p 10 Pig. 2 visar hur det antal koordinatpunkter X och Y som defini- erar ett tecken kan reduceras genom att man endast anger den första och den sista punkten på en vertikal eller horisontell linje (koor- dinat). Tecknet "Q" har i figuren delats i halvor. På vänstra sidan finns de vertikala linjernas slut-konturpunkter och på den högra sidan finns de horisontella linjernas slut-konturpunkter.
Genom att jämföra fig. 1 med 2 finner man att det totala antalet koordinatpunkter väsentligt har reducerats. Så snart en vertikal punktlinje uppträder i tecknet, såsom fallet är längs tecknets vänstra sida, utelämnas samtliga punkter mellan de båda ändpunkterna Analogt härmed, så snart en horisontell med vertikalkonturkoden. punktlinje uppträder i tecknet, såsom fallet är i tecknets översta del, utelämnas mellanpunkterna med horisontalkonturkoden. Speciellt om koordinatpunkterna representeras av relativa avstånd från närmast föregående koordinatpunkter istället för av absoluta koordinatvär- den, erhålles en betydande reducering i den mängd data som erfordras för att definiera tecknet. En dylik representation skulle vara väsentligen densamma som vid det i nämnda amerikanska patentskrifter 3 305 841 (Schwartz) och 3 H71 8U8 (Manber) beskrivna teckenkod- ningssystemet.
Uppfínningen ger ett kodningssystem som är t.o.m. ännu mera sparsamt med minnesutrymme än den i fig. 2 visade teckenrepresenta- tionen och som kan användas i en sättmaskin med ett minimum av maskinvaru-uppbàd för att avbilda tecken med hög hastighet. Detta teckenkodningssystem kan dessutom automatiseras på ett enkelt sätt med användning av en digital kalkylator.
Fig. 3 visar kodningssystemet enligt uppfinningen. Enligt detta system har antalet koordinatpunkter längs teckenkonturerna än ytterligare reducerats, och det antages att dessa punkter är för- bundna med varandra genom räta linjer. I stället för att specifice~ ra de absoluta koordinaterna för dessa valda punkter runt kontur representeras de räta linjerna såsom "vektorer" av koordinatenheter från vektorns ena ände till den andra. är anordnade i ordningsföljd, från spetspunkten till slutpunkten, så att en ny vektor börjar där en närmast föregående vektor slutar. En serie eller sträng av dylika vektorer, vilka bildar tecknets kontur, utgår från en ursprunglig "startpunkt" som är given i absoluta koordinater.
Som framgår av den vänstra halvan av fiß~ 3 fortskrider vekto- rerna från vänster åt höger, med den konventionen att om tvâ vekto- tecknets antalet Vektorerna 10 15 20 25 30 35 HO 456 049 11 rer börjar från samma X-koordinatvärde, så skall den lägsta förteck- nas först. Analogt gäller att om ett eller flera par startpunkter är givna, så förtecknas det lägre paret och den lägre startpunkten först.
I fig. 3 anges sålunda startpunkterna X1, Y1 (25) och X2, Y2 (26) först i denna ordningsföljd. Därefter förtecknas de vektorer som härrör från dessa startpunkter i ordningsföljden 1, 2, 3, 4. De tal som definierar dessa vektorer är angivna i Tabell I: TABELL I Vektor nummer X-avstånd Y-avstånd 1 2 -7 2 2 Ö 3 Ä -6 4 Ä 7 När vektorerna 3 och N har löpt ut, är det nödvändigt att definiera två nya startpunkter, X3, Y3 och Xu, Yu innan man fortsätter med nya vektorer. Eftersom teckendata fortskrider från vänster åt höger skulle man eljest anta att det ej fanns några vektorer eller startpunkter med X-koordinatvärden i X-koordínatomrá- det för de nästföljande två vektorerna.
Efter angivandet av startpunkterna X3, Y3 och XR, Yu förtecknas vektorerna i ordningsföljden 5, 6, 7, 8 med användning av konventionen att de anges nedifrân och uppåt. Ytterligare vektorer förtecknas därefter i ordningsföljden från vänster till höger och nedifrån och uppåt; d.v.s. i den ordningsföljd i vilken de "löper ut" när man går åt höger längs X-axeln.
Normalt föreligger startpunkterna parvis. möjligt att två vektorer går ut från samma startpunkt i enlighet med vad som åskádliggöres genom vektorerna 9 och 10. I detta fall är det fördelaktigt om samma startpunkt betraktas som ett "par" start- punkter med identiskt lika värden, så att vektorn 9 fortskrider från koordinatpunkten X5, Y5 och vektorn 10 fortskrider från punkten Det är emellertid X6, Y6.
Den högra delen av fig. 3 åskådliggör samma kodningssystem med en annan konvention. I detta fall är ett teckens vektorer förteck- nade uppifrån och nedåt i en hel sträng efter de ursprungliga absoluta koordinaterna för den översta punkten i en vektorsträng. I det fall att två startpunkter förefinnes vilka har samma Y-koordi- 10 15 20 25 30 35 H0 456 049 12 natvärde kan vilken som helst av dessa punkter anges först.
Med den kontur som visas i den högra delen av fig. 3 är data-ordningsföljden följande. Startpunkten X7, Y7 och dess vektorer 11, 12, 13 etc. fram till slutet av strängen; startpunkten X8, Y8 etc. till slutet av strängen; startpunkten X9, Y9; vektorerna 17 och 18; startpunkten X10, Y1O, vektorn 19 o.s.v.
Som fallet är när det gäller startpunkten X5, Y5 och X6, Y6 är slutligen en enda punkt definierad såsom ett "par" start- punkter X11, Y11 och X12, Y12.
Y11 med sin vektor 20; därefter anges startpunkten X12, Y12 följd av vektorn 21 och de övriga vektorerna i strängen. Vektorn 20 Den vektorsträng som börjar med vektorn 21 Först anges punkten X11, slutar i ändpunkten 22. slutar i ändpunkten 23, och den vektorsträng som börjar med vektorn 11 slutar i ändpunkten 2U.
Det finns två orsaker till att startpunkt- och vektorkodnings- systemet enligt uppfinningen är mera minnesutrymmesekonomiskt än det som visas i fig. 2 och är beskrivet i de ovannämnda patentskrifterna 3 305 8H1 och 3 H71 8U8: (1) Flertalet tecken innehåller till skillnad från det som åskådnigsexempel valda "Q" ett antal räta linjer i sina konturer. (2) Även krökta ytor kan med tillfredsställande noggrannhet representeras med en sekvens av rätlinje-vektorer med tillräcklig längd för att avsevärd datakompression skall vara möjlig.
Erfarenheten har visat att den datamängd som erfordras för att definiera en stiltyp med kodningsschemat enligt uppfinningen i jämförelse med det i amerikanska patentskrifterna 3 305 841 och 3 H71 BUS beskrivna reduceras med en faktor 10.
En ytterligare fördel med kodningssystemet enligt uppfinningen är att det är lämpligt för kalkylator-automation. Med andra ord, när de digitala data som definierar ett tecken väl har reducerats till det i fig. 2 visade formatet med antingen vertikala eller horisontella konturer, kan de omvandlas till startpunkt- och vektor- data med användning av en enkel algoritm. Fig. U visar en typisk beräkning, och fig. 5 visar en dylik algoritm som kan användas för att bestämma en vektors längd.
Fig. U visar en provmatris 15 x 15 arrangerad i den övre högra kvadranten från en punkt (O, O) som kan vara en ursprunglig start- punkt eller spetsen av en föregående vektor. Vid provmatriskvadran- ten antages att en från vänster till höger orienterad vektor skall definieras, vilken sträcker sig uppåt (positiva Y-värden). Det är 10 15 20 25 30 35 NO 456 049 13 uppenbart att provmatrisen även kan vara placerad i någon av de övriga kvadranterna beroende på den riktning i vilken vektorn förlöper.
Storlekan av provmatrisen motsvarar dessutom maximalt tillåtna längden av en vektor (i detta fall 15 enheter i vardera X-riktningen och Y-riktningen). Om vektorerna är valda så att de har en större eller en mindre maximal längd, ändras matrisens storlek i motsva- rande mån.
I detta exempel representerar punkterna 30 den faktiska digita- liserade konturen av tecknet i det i fig. 2 visade formatet. Linjen 32 är en föreslagen vektor som måste provas i och för bestämning av huruvida den kommer tillräckligt nära den längst bort belägna Koordinaterna X, Y Koordi- konturpunkten för att representera konturen. definierar den aktuella provpunkten för vektorns 32 spets. naterna för samtliga konturpunkter 30 är betecknade med xø, yo; X1, y1; ... X15, y15 i enlighet med ordningsföljden längs matrisens X-axel.
Som framgår av fig. 5 är den första konturpunkten som skall provas den punkt på matrisen som har den största framåtriktade komposanten (i detta fall X) fràn punkten (0, O). I fig. U är den första prvvpunkten XT, XT (15, 9). Den fjärde provpunkcen, där XT, YT är koordinaterna (12, 9) i enlighet med fig. N, provas efter det att de tre föregående provpunkterna (15, 9), (lä, 9) och Ändamålet med algoritmen är att finna Algoritmen provar (13, 9)-visat sig ej passa. den längsta vektorn som klarar passningsprovet. varje konturpunkt 30 med lägre värde (med koordinaterna x, y) för att bestämma huruvida ett vinkelrätt avstånd Åšfrån denna punkt till den från ursprungspunkten (0, 0) dragna vektorn till XT, YT överstiger en förutbestämd passningskonstant K. Först väljes koordinaterna x, y för den punkt 30 som befinner sig omedelbart före PTOVDUURCGU XT, YT och provet genomföres. Om avstàndetåß överstiger konstanten K (d.v.s. om provet ger ej godtagbart resul- tat) överses provpunkten XT, YT och nästa lägsta värde på XT väljes.
När en provpunkt har påträffats för vilken samtliga kontur- punkter 30 med lägre X-koordinatvärden klarar provet, eller när X-k°0PdíflêfiVäPdeÜ XT för provpunkten har reducerats till ett, används kOOFdinatVärdena XT, yT för att ¿efiniera Vektopn_ Vektorn representeras sedan av skillnaden mellan koordinaterna för den närmast föregående vektorns spets (koordinatvärden 0, 0 i 10 15 20 25 30 35 BO 456 049 1U provmatrísen) och koordinatvärdena för den valda provpunkten XT, YT. Med andra ord, dx, dy sättes lika med XT, YT.
Det vinkelräta provavståndet ¿'bestämmes för varje punkt medelst enkel geometri. Med användning av likformiga trianglar erhåller man: X 5 ' T ' och A .
Y V X 2 Y 2 + T T Y ' T A _ -x 'ííí-'o Y . YG 6 XT , Lösning med avseende på 5§ger: Y x T ) _ T Fíïí X 2 + Y T T å = [Tabell 1 värde QXT, yT]° [Yó - xöwaben II värdeøxT mig] Värdena på V 2 2 och Y T/XT kan givetvis beräknas för varje särskild gång medelst en kalkyla- tor. Men eftersom det finns ett begränsat antal punkter XT, YT i en matris om 15 x 15, är det fördelaktigare om samtliga möjliga lösningar pá dessa uttryck införes i en Tabell I resp. en Tabell II så att de snabbt kan "slås upp" och återvinnas från ett minne.
Det bör dessutom observeras att den förhandsinställda pass- ningskonstanten kan väljas hur liten som helst, så att vektorerna med önskad approximation ansluter sig till den verkliga teckenkon- turen. I en föredragen utföringsform är konstanten K vald så att den är beroende av provvektorns lutning, så att i det närmaste 10 15 20 25 30 35 H0 456 049 15 horisontella lutningar kan avvika mera från konturen: Om YT/xT är snön-e än 1 så är x = 0,5; och Om YT/XT är mindre än eller = 1 så är K = 1,0.
Det inses lätt att den i fig. 5 visade algoritmen är ytterligt enkel och kan genomföras med användning av en för allmänbruk utförd kalkylator i vilken vertikalkonturpunkter eller horisontalkontur- punkter (se fig. 2, vänstra resp. högra sidan) är lagrade. Ett program för en viss kalkylator kan utarbetas ur denna algoritm med användning av välkända programmeringsprinciper och -metoder.
Fig. N visar en provmatris i vilken de maximalt tillåtna värdena på X och Y är 15 enheter. En vektor som slutar i någon punkt inom denna matris kan definieras medelst tvâ N-bits binära tal: dx och dy. En analys har visat att även med ett rutnät med måttligt hög upplösning kommer den helt dominerande delen av de vektorer som erfordras för att definiera ett tecken att falla inom en dylik matris 15 x 15 så att det är tillfyllest och resulterar i datareducering om 8 bitar (1 byte) data används för att definiera varje vektor.
Enligt uppfinningen väljes därför antalet bitar som definierar en vektor så att man till ett minimum nedbringar det totala data- innehållet i en stiltyp för en given upplösning. Prooeduren med val av maximala vektorlängden innefattar följande steg: (1) Maximala punktstorleken för de tecken som skall alstras av sättmaskinen bestämmes först. (2) När maximala punktstorleken har bestämts, väljs en upplös- ning som möjliggör återgivning av de fina detaljerna i de största tecknen. (3) När upplösningen har bestämts väljs den förhandsinställda passningskonstanten K så att vektorerna följer de krökta teckenkon- turerna med tillräcklig noggrannhet för att tecknen när de återges i den största punktstorleken ej förefaller att uppvisa en serie raka stycken på krökta ytor.
(H) När upplösningen och konstanten K har bestämts är det möjligt att alstra en statistisk fördelning av vektorer med varie- rande längd för samtliga tecken i en stiltyp. En sådan vektorlängd- fördelning kan visa det relativa antalet vektorer av vardera av de tillåtna längderna (1 x 1, 3 x 3, 7 x 7, 15 x 15, 31 x 31 etc.). (5) Ur denna vektorlängdfördelning väljs en maximal v6k$0PläHSd som medför en minimimängd data. Om den maximala vektorlängden är för liten (t.ex. 3 x 3 som kan definieras med totalt U bitar), 10 15 20 25 30 35 H0 456 049 16 kommer definieringen av ett tecken att kräva ett överdrivet stort antal vektorer och datareduceringen kommer att bli minimal. logt, om maximala vektorlängden är för stor (t.ex. 255 x 255 som kan definieras med 16 bitar) så kommer den datamängd som krävs för att definiera korta vektorer att bli onödigt stor, vilket resulterar i Ana- minimal datareduktion.
D Fig. 6 åskådliggör ett föredraget format för att definiera ett tecken med vänster-höger-vektorer (fig. 3, vänstra sidan). Dessa vektorer är specificerade i en kvadrant av X- och Y-koordinaterna för vektorns ände i förhållande till kvadrantens origo. Eftersom konturerna följs från vänster till höger tvärs över tecknet, kommer endast de båda högra kvadranterna att användas. Styrkoder möjliggör kvadrantval och initiering och fullbordande av kurva. definieras uteslutande med sina Y-värden, eftersom X-läget ingår i Startpunkter kodningen.
Ett "datablock" som definierar tecknet börjar med ett "start-ord" A (innehållande två bytes om vardera 8 bitar) som ger X-koordinaten för tecknets vänstra referenslinje. Detta följs av ett "startpunkt-ord" B som ger Y-koordinaten för den lägsta start- punkten i tecknets första X-rutnätlinje. Ordet B följs av en "vektor-byte" som ger värdena dx och dy för en vektor från denna startpunkt och därefter av ett ytterligare startpunkt-ord D som definierar den näst lägsta punkten. Ytterligare ett startpunkt-ord E definierar den högsta punkten på den första X-rutnätlinjen och en vektor-byte F definierar en vektor från denna startpunkt. Om det finns några startpunkter inom femton X-enheter från den första rutnätlinjen, kan dessa infogas i sin vederbörliga Y-värde-ordnings- följd. Tecken-datablocket fortsätter med vektor-bytes,"styr-bytes" och start-ord C samt slutar med en "blockslut-byte" H som anger blockets slut.
Fig. 6B, 6C, 6D och 6E visar formaten för start-ordet (25a), startpunkt-ordet (25b), vektor-byte resp. styr-byte (28). Dessa format är ritade med den minst signifikanta biten till höger.
Innebörden av symbolerna inom dessa ord och bytes är följande: 10 _15 20 25 30 UO Start-ord: X8X1X6*sXuX3X2X1Xo Startgunkt-ord: "3 Y9Y8Y7Y6Y5YuY3Y2Y1Yo Vektor-byte: Y3Y2Y1Yo “2"1"o x3X2X1Xø - 17 456 049 Vänster referenslinje, storlek Provbit, kan användas för feldetektering.
Kedjebit, anger huruvida detta ord inleder det sista tecken-blocket. underskärningsbit, bestämmer riktningen av vänstra refe- renslinjen (børt från eller i riktning mot det föregående tecknet).
Antalet startord på tecknets första rutnätlinje.
Vertikala avståndet mellan tecken-baslinjen och startpunkten (antingen positivt eller negativt) Ej definierad "Ned-bit", bestämmer i vilken av de båda högra kvadranterna som den efterföljande vektor- förskjutníngen kommer att inträffa.
Antalet rutnätllnjer mellan uppträdandet av styrkoden "start ny linje" och själva startpunkterna.
Detta värde definierar den vertikala förskjut- ningen mellan en vektors början och slut. 456 049 18 x3X2X1X0 Detta är den horison- tella förskjutningen mellan en vektors början och slut. 5 Styr-byte 0 O 0 O Dessa bitar definierar en styr-byte, om de är nollställda. 10 M3M2N1M0 Dessa fyra bitar bildar ett binärt tal (O till I 15) som anger en "styr-funktion".
Q 15 Styrfunktioner: Styrfunktioner erfordras genom hela tecken-blocket och anges i styr-byte'n med dess fyra signifikanta bitar nollställ- da. Detta gör det möjligt att definiera sexton olika funktioner med de återstående fyra bitarnas numeriska värde. 0 - Utfyllnad 20 1 och 2 - Odefinierade 3 - Start av tvá konturer utan några mellanliggande konturer.
M - Start av två konturer under de existerande. 25 5 - Start av fyra konturer utan Å några mellanliggande konturer. 6 - Start av fyra konturer under de existerande. , 7 - Ersätt ett existerande 30 kontur-värde med en nya: värde utan att ändra den numeriska ordningsföljden uppför rutnät-linjen (d.v.s. avsluta en kontur och starta 35 en kontur). 8 - Ej definierad 9 - Block-avslutning. 10 och 11 _ Ej definierade 12 - Avsluta två konturer ”Û 13 - Avsluta fyra konturer 10 15 20 25 30 35 456 049 19 1U - Ändra riktning. Efterföljan- de vektorer befinner sig i den andra kvadranten. 15 - Vertikal förskjutning 16 enheter utan horisontell rörelse. _ Fig. 7 och 8 visar hur ett tecken kan kodas med kodningsschemat enligt uppfinningen med användning av det i fig. 6 visade formatet.
I fig. 7 har ett enkelt "tecken" ritats, vilket innehåller ett antal startpunkter, slutpunkter och mellanliggande vektorer. Den egentliga kodningen för detta tecken visas i fíg. 8, vänstra kolum- nen. Mittkolumnen i fig. 8 beskriver denna kodning, och den högra kolumnen visar den ordningsföljd i vilken data tillföres till och utnyttjas av sättmaskinen.
Fig. 9 visar ett föredraget format för att definiera ett tecken med upp-ned-vektorer (fig. 3, högra sidan). specificerade i en kvadrant genom koordinaterna X, Y för vektorns slutpunkt i förhållande till kvadrantens origo. följes uppifrån och nedåt för tecknet, kommer endast de tvá undre Såsom vid det i fig. 6 visade formatet Dessa vektorer är Eftersom konturerna kvadranterna att användas. tillåter styrkoder kvadrantval samt initiering och fullbordande av kurva. Med detta format befinner sig rutnätlinjen Y=O överst i teckenqmràdet och på varandra följande horisontella rutnätlinjer ges konsekutiva Y-nummer nedåt längs rutnâtet.
Ett datablock som definierar tecknet börjar med ett "Y-dataord" som ger tecknets högsta Y-startkoordinat. Detta ord följs av ett "X-dataord" som definierar X-startkoordinaten för en kontur och vektorerna och styrdata för denna kontur.
Samtliga följande konturer är ordnade så att startpunkt-X-vär- dena är i stigande ordningsföljd; d.v.s. Y-värdet för nästa kontur är lika med eller större än Y-värdet för den närmast föregående På detta sätt definieras och fullbordas hela "strängar" innan den nästföljande strängen defini- konturen. eller sekvenser av vektorer eras. Om två startpunkter har samma Y-värde, kan vilken som helst av dessa punkter förtecknas först med hela sin vektorsträng.
Fig. 9B, 9C och 9D visar formaten för Y-dataordet 27a, X-data- ordet 27b resp. vektor- eller styrordet. Dessa format är utritade med den minst signifikanta biten till höger. Innebörden av symbolerna inom dessa ord och bytes är följande: 10 15 20 25 30 35 U0 456 049 Y-dataord XN 20 Dessa data definierar det horisontella läget för en startpunkt. Vänstra referenslinjen (LSB) är definie- rad såsom O.
Teokenbiten definierar XN:s förskjutning i förhållande till vänstra referenslinjen (LSB).
L-biten definierar dx-riktningen för den första vektorn.
F-biten eller "buktningsbiten" definierar den vektor- lutning som skall användas av avkodaren vid extrapole- ring av en teckenkontur i rutnätsomràdet omedelbart ovanför linjen YN.
E-biten eller "extrapoleringsbiten" definierar huru- vida extrapolering skall användas eller ej i omrâdet ovanför rutnätlinjen YN.
B-biten utgör biten "gränslinje till/från" och defini- erar huruvida konturen är den vänstra gränslinjen (till) eller den högra gränslinjen (frán).
Vektor/styrnings-ord: dydx Styrfunktioner: en styrkod.
För samtliga dy-värden som är större än 0 definierar denna byte lutningen av vektorkonturen av tecknet från startpunkten (YN, XN) eller från den senaste vektorns slutpunkt. Samtliga vektorer genomgás i serie-sekvens i samma ordningsföljd som den i vilken de uppträder på teoknets kontur. Den ursprungliga vektorn återfinns i ordets mest signifikanta bitar (MSB) och den andra i dess minst signifikanta bitar (LSB).
För samtliga värden på dy=0 definierar denna byte Den speciella koden bor på värdet på dx i enlighet med vad som framgår nedan: 0 - Slut på konturen. 1.. 2- Om den befinner sig i de mest signifi- kanta bitarna, måste de minst signifikanta bitarna vara fyllda med nollor.
Kasta om dx-riktningen för nästa vektor.
Anger att det ej finns några förskjutningsvektorer som är tillämpliga för den startpunkt som är definierad genom de närmast föregående dataorden Y och X.
Denna styruppgift kommer alltid att befinna sig i de mest signifikanta bitarna; de minst signifikanta bitarna är fyllda med nollor 10 15 20 25 30 35 HO 456 049 21 för att bilda en styrkod "slut på konturen". 3 - Definierar en vektor med en horisontalförskjutning av 0 enheter (en vertikal vektor) och en vertikal förskjutning som är större än 30 enheter. Nästa data-byte anger ett binärt värde för den vertikala förskjutningen. data-byte har ett resulterande vertikalförskjutningsområde av O t.o.m. 255, men den skall ej användas från O t.o.m. 30.
U - Definierar en vektor med en horisontell förskjutning av 1 enhet och en vertikal förskjutning av 30 enheter. 5 - Definierar en vektor med en horisontell förskjutning av en enhet och en vertikal förskjutning av 60 enheter.
Denna 6 - Definierar en vektor med en horisontell förskjutning av 1 enhet och en vertikal förskjutning av 120 enheter.
- Definierar en vektor som följer en konkav kontur.
Samma som funktionen 7 men för en konvex kontur.
- Samma som funktionen 7 men för en rätlínjig kontur.
- Anger huruvida konturen har en liten eller en stor grad av konkavitet eller konvexitet (denna bit avkännes endast om biten 7 eller 8 anger konkavitet eller konvexitet). 11 - Definierar en vektor med en vertikal förskjutning av 1 enhet och en horisontell förskjutning större än 255 enhe- ter. Nästa data-byte definierar det binära värdet för en horisontell förskjutning överstigande 255 enheter. 12-1u _ Ej definierade. 15 - Definierar en vektor med en horisontell förskjutning av 1 enhet och en horisontell förskjutning större än 15 enheter.
Nästa data-byte anger det binära värdet för den horison- tella förskjutningen.
Fig. 10 och 11 visar hur ett tecken kan kodas med kodningssche- mat enligt uppfinningen med användande av det i fig. 9 visade I fig. 10 innehåller tecknet "A" ett antal startpunkter, Den faktiska kodningen för OWJCD-Q I formatet. slutpunkter och mellanliggande vektorer. detta tecken visas i fig. 11, vänstra kolumnen. i fig. 11 beskriver denna kodnings art.
Fig. 12 visar en konventionell magnetisk skiva 65, kallad flex- skiva eller "floppy disk", vilken har uttagits ur sitt kartongfod- Skivan har en diameter av ungefär 203 millimeter och har en 38 Den högra kolumnen ral. millimeters central öppning för att kunna försättas i rotation av en axel. Skivan kan vara magnetiskt känslig pà den ena sidan eller på båda sidorna, så att den binära informationen kan registreras och ,f_ 10 15 20 25 30 35 HO 456 049 22 lagras på samt återvinnas från den ena sidan eller från båda sidorna.
Den i fig. 12 visade flexskivan är "hårt sektorindelad" genom 32 små hål som är placerade i Jämn delning kring den centrala öppningen. Ett 33:e hål är upptaget halvvägs mellan två av de i jämn delning utplacerade hålen för att ange en startpunkt. Hålen, som kan avkännas medelst en fotocell, indelar skivan i 32 lika stora sektorer (i fig. 12 angivna medelst linjer endast i och för beskriv- ningen). Skivan är även indelad i 77 koncentriska spår (likaledes inritade med linjer uteslutande i och för beskrivningen). §ålunda kan en lagringsplats på skivan specificeras genom spår och sektor, varvid numren på ett spår och en sektor bildar en "adress". Varje adress (spår och sektor) på skivan kan lagra upp till 250 bytes information.
Fig. 13 visar hur en eller flera stiltyper som är kodade i enlighet med principerna för uppfinningen kan registreras på en flexskiva. Två speciella sektorer på skivan i ett speciellt spår (t.ex. spåret 00, sektorerna 00 och 01) är reserverade för skiveti- kett och stiltyp-innehållsuppgift. kan lagras med början på godtycklig annan adress på skivan.
Skivetiketten beskriver innehållet i skivan i konventionella bokstäver, som är kodade i konventionella latinska bokstäver, kodade i binär form med en standardkod, exempelvis American Standard Code for Information Exchange (ASCII). Stiltyp-innehållsuppgiften ger begynnelseadressen för varje stiltyp som är registrerad på flexski- van. Denna stiltyp-innehållsuppgift kan exempelvis bestå av en följd av dubbla ord, varvid det första ordet definierar stiltyp-num- ret och det andra ordet spår- och sektoradressen för stiltypens början. Om sålunda en användare önskar leta reda på stiltyp nummer 126, bringar han kalkylatorn att avsöka stiltyp-innehållsregistret för att finna begynnelseadressen för denna stiltyp.
Stiltyp-informationen består av ett tecken-uppslags- och breddregister, följt av datablock vilka definierar det antal tecken som ingår i stiltypen ifråga. Tecken-datablooken kan ha det format som visas i fig. 6A eller fig. 9A, eller också kan de ha annat lämpligt format för kodade tecken-data.
Ett typiskt uppslags- och breddregister är visat i fig. 1H.
Detta register innehåller data som är tillämpliga på individuella Teckenavbildningssys- temet eller sättmaskinen använder ej denna information.
Den kodade teckeninformationen tecken som erfordras i ett sättningssystem.
Om tre bytes används för att definiera data för varje tecken, 10 15 20 25 30 35 HO 456 049 23 så kan upp till 83 tecken beskrivas i en sektor. bredd-grupp om tre bytes innefattar tecken-nummer, teckenenhet- -bredd- resp. "flagg"-bitar. Tecken-numret hänför sig till tecknats form enligt tangentbords-arrangemang-nummer. Enhetsbredden är tecknets bredd i 1/SN av en "em".
I Flagg-bitarna är tilldelade bitar som definierar speciella egenskaper för tecknet. Flaggbiten 6 är "B"-biten som anger att tecknet har en utskjutande del i linje med den undre delen av tecknet vilken ej får överhoppas när versalen skall alstras.
Flaggbiten 5 är "C"-biten, som anger att tecknet är ett mittcentre- rat mönster, under det att flaggbiten U är den "D"-bit som anger att tecknet är ett övre index till rubrikstil ("drawn display superior figure").
Tecken-uppslags- och breddregistret slutar med en kedjeadress som innehåller adressen till nästa teckenbredd-registersektor eller Varje tecken- den första sektorn i de kodade teckendata.
När digitalíserad teckeninformation väl har kodats och lagrats på en flexskiva måste den läsas, tolkas och avbildas av en typsätt- anordning på en fotografisk film. Denna teckengenereringsprocess kommer nu att beskrivas för det ovan beskrivna teckenkodningsschemat i anslutning till fig. 3 - 1ä, med arrangemang i det speciella format som är visat i fig. 6 - 8. Pig. 15 visar den typ av data som erfordras för en teokengenerator för att "svepa" ett tecken (i detta fall återigen bokstaven "Q") medelst ett katodstrålerör, en laser- strâle eller annan typ av punktsvepanordning. Speciellt kräver teckengeneratorn data i form av skärningspunktvärden för varje När det gäller vertikala avsökningslinjer, såsom visas i fig. 15, är dessa de angivna Y-värdena för tilllfrán- -punkterna för varje avsökningslinje. Värdena refererar till tecknets baslinje med de positiva värdena på Y ovanför och de negativa värdena under baslinjen. Det översta värdet för det högsta avbildade segmentet i en avsökningslinje flaggas så att teckengene- ratorn omedelbart kan gå vidare och avsöka nästa linje.
I fig. 15 rör sig den avsökande strålen i den första avsök- ningslinjen HO (längst till vänster) vertikalt uppåt och fortskrider med en konstant hastighet från baslinjen. Strålen förblir frànsla- gen till dess att den har förflyttat sig en sträcka YO från baslin- jen. I denna punkt slås strålen till och förblir tillslagen till dess att den har förflyttat sig ett avstånd Y1 från baslinjen.
Därefter kan svepet fortsätta med strålen frånslagen till dess att utgångs-avsökningslinje. 10 15 20 25 30 35 H0 gomvandla det i fig. 456 049 2h det när rastermatrisens överkant. Företrädesvis kommer emellertid strålen omedelbart att svepa tillbaka nedanför Y2 eller till baslin- jen och fortsätta med den andra avsökningslinjen H2. Detta átersvep triggas genom att man förknippar "linje-slut"-flaggan med data Y1.
Den datasekvens som teckengeneratorn skall genomföra är sá- lunda: YO, X1, Y2, gå, YR, lä, I6, X1, Y8, Y9, Y10, Ill, Y12, Y13, Y1N, šlâ etc., varvid "linjeslut"-flaggan i denna sekvens är angiven genom understrykning. Eftersom data lagras och tillföres till sättmaskinen i startpunkt- och vektorkontur-format, kräver sätt- maskinen en "kodomvandlare" för att omvandla detta vektorformat till det i fig. 15 visade skärníngs- eller "intercept"-formatet. Den apparattekniska uppbyggnaden av kodomvandlaren kommer att bero på det speciella vektorformat som används (exempelvis det i fig. 6-8 visade formatet eller det i fig. 9 - 11 visade formatet) och det speciella intercept-format (vertikal eller horisontell avsökning; enkelt tecken eller dubbelt tecken per avsökningslinje) som an- vänds. I den nedan beskrivna utföringsformen kan kodomvandlaren 6 - 8 visade formatet till ett vertikalt avsökt intercept-format för enkelt tecken.
För att utföra omvandlingen från vektorformat till intercept- -format bör kodomvandlaren företrädesvis kunna genomföra skaländ- ring, interpolation och medelvärdesbildning. Dessa tre operationer är áskådliggjorda i fig. 16 - 19.
Om man antar att utgångsupplösningen (avsökningslinjetätheten) för teckengeneratorn är fastlagd, måste tecknen horisontellt skal-anpassas genom inställning av det antal avsökningslinjer som erfordras för att definiera ett tecken. Fig. 16 och 17 åskådliggör denna princip, varvid tecknets bredd varieras genom Jämn fördelning av det erforderliga antalet avsökningslinjer tvärs över tecknet.
Vertikal skal-anpassning kan åstadkommas antingen genom analog apparatteknik (exempelvis användning av vertikalavlänkningsförstär- kare) eller genom digital apparatteknik eller programvara (exempel- vis genom att multiplicera intercept-värdena YO, Y1, Y2... etc. med en digital skalfaktor).
För tecken av större punktstorlek kan det bli nödvändigt att interpolera för att finna stràl-omkopplingspunkten på vissa avsök- ningslinjer, ty linjetätheten för den matris eller det rutnät varpå tecknet är kodat är otillräcklig. I enlighet med den föredragna utföringsformen av uppfinningen används linjär interpolation för att öka den digitaliserade upplösningen. Om exempelvis det kodade 10 15 20 25 30 35 w grare verkställer den ytterligare anpassningen. 456 049 25 tecknets data motsvarar ett 32 punkters tecken i teckengeneratorns upplösning, är det nödvändigt att multiplicera med en faktor större än två för att uppnå ett 72 punkters utgângsresultat. De vertikala Y-värdena fördubblas helt enkelt, och teckengeneratorns multiplice- Kodomvandlaren sätter in tre ytterligare vertikala linjer i jämn delning mellan varje par digitaliseringslinjer och använder linjär interpolation för att uppskatta intercept-värden i enlighet med vad som visas i fig. 18. I denna figur är de heldragna linjerna den digitala original-upplösningen och de streckade linjerna är de tillfogade interpolerade lägena. En "O" anger en digitaliseringspunkt som härrör från vektoravkodningen och ett "X" anger en interpolerad punkt. Om samtliga extra linjer matades ut vid den konstanta utgångs-upplösningen, skulle tecknet bli fyra gånger så stort som dess ursprungliga storlek (t.ex. 128 i stället för 32). Det är därför möjligt att períodiskt utelämna linjer tvärs över tecknet för att erhålla godtycklig bredd understigande denna storlek.
Under en viss inställd bredd kan man använda en medelvärdes- bildningsteknik för att reducera datamängden. För små storlekar kommer den digitaliserade datamängden att överstiga den erforder- liga. För att utnyttja all denna information kan kodomvandlaren alstra intercept-värden som är aritmetiska medelvärdet av digitali- seringsvärdena mellan utgångs-avsökningslinjerna i enlighet med vad som framgår av fig. 19. I denna figur är de heldragna linjerna den ursprungliga digitaliseringsupplösningen och de streckade linjerna är de avsökningslinjer som är utvalda för att utmatas. En "O" anger en digitaliseríngspunkt som är härledd genom vektoravkodning, ett "X" anger ett värde som har använts för att beräkna medelvärdet och en streckad "O" är kodomvandlarens medelvärdesbildade utgángsvärde.
Som framgår av figuren beräknas utgångsvärdet ur samtliga mellanlig- gande digitaliseringspunkter som värdet av den närmast föregående utmatade linjen. Denna medelvärdesbildningsteknik resulterar i en teckenförskjutning uppgående till ungefär en halv utgångssvep-upp- lösningsenhet ät höger.
Fig. 20 visar en tredje generationens (katodstrâlerör-) sätt- maskin 200 som kan anordnas för att matas med digitaliserade stilty- per som är kodade i enlighet med uppfinningen. Denna maskin innehål- ler en eller flera flexskive-läs/skriv-enheter (monterade på gejder för att lätt kunna avlägsnas), en kortstomme som innehåller ett an- tal elektroník-kretskort, ett katodstrålerör, ett högspänníngs-mat- 10 20 25 30 35 H0 456 049 26 ningsaggregat för detta katodstrâlerör, en mekanism för transport av ljuskänslig film för att förskjuta film förbi katodstrálerörets skärm och in i en upptagningskassett. Sättmaskinen innehåller även de konventionella frontpane1-manöverorganen och en hálremsläsare.
Fig. 21 visar anordningen för de olika komponenterna, av vilka flertalet är av välkänd typ, dock med undantag för kodomvandlaren och teckengeneratorn vilka i detalj kommer att beskrivas i det följande.
Systemet styres av en central processorenhet 50 (en högkoncent- rerat integrerad enhet med handelsbenämningen 3/05 Naked Milli Computer, tillverkad av företaget Computer Automation), antingen direkt via sin egen data-buss ("maxibuss“) 52 eller indirekt via en speciell databuss (hjälp-buss) SH. Systemets arbetssätt bestämmes av ett program som befinner sig i ett huvudminne 56 vilket är anslutet till nämnda "maxibuss" och kan ha upp till 32k x 16 bitars lagringskapacitet.
Arbetsinstruktioner för maskinen kan erhållas från tre möjliga källor: en 300 Hz hàlremsläsare 58, på frontpanelen befintliga manöverorgan 60 och interface-enheten 62 för drift “on-line".
Samtliga dessa element är anslutna till maxibussen 52 liksom även en flexskive-läs/skriv-enhet 6H som tillhandahåller de digitaliserade stiltyperna.
En hjälpbuss-interface-enhet och en hjälpbuss-buffert 66 styr de till hjälpbussen 54 anslutna komponenterna. Interface-enheten och styrorganet 66 styres i sin tur av den centrala processor-enhe- _ten (CPU) 50 via maxibussen 52.
Ett lågspännings-matningsdon 68 är kopplat till samtliga elektronik-kretskort i och för strömförsörjning till matnings- och logikkretsarna.
De till hjälpbussen anslutna komponenterna svarar för alstring- en av tecknen. Kodomvandlaren 70 tar ut komprimerade stiltyp-data från ett RAM- eller FROM-stiltypminne 72 och behandlar dessa data för alstring av ett utsträckt intercept-format. En teckengenerator TU tar emot dessa data och alstrar en stràl-omkopplingssignal pà ledningen BH samt analoga spänningar som representerar X- och Y-avlänkningar pá ett katodstrålerör. Dessa analoga spänningar förstärkes av bildavlänkningsförstärkarna 76. Korrektionskretsar i dessa förstärkare modifierar de analoga signalerna för att korrigera för katodstrålerörets geometrí. Tecknen alstras slutligen på ett katodstrålerör 78 med elektromagnetiska avlänkningsspolar 80. 10 15 20 25 30 35 HO 456 049 27 Katodstrâlen "slås till" och "slås ifrån" i avpassade ögonblick under avsökningen genom den signal som kommer in på ledningen 8U från teckengeneratorn TU. Elektronstrâlen accelereras inom katod- stråleröret medelst en hög spänning som tillföres från högspännings- aggregatet 82.
Ljuskänsligt papper eller ljuskänslig film är i kontakt med katodstrålerörets skärm-yta, så att latenta bilder av tecknen bildas. En mekanisk fílmtransportanordning 86 för fram papperet etc. efter varje fullbordad teckenrad. En stegmotor i filmtrans- portanordningen tillföres energi från ett motordrivkort 88 vilket styres av ett första styrkort 90 som är anslutet till hjälpbussen SU. Papperet matas in i en ljustät upptagningskassett i vilken det förvaras till dess att det framkallas. Papperet avskäres medelst en elektriskt driven kniv och undergàr därefter fotografisk behand- ling.
Som ovan nämnts är kalkylatorn 50 anordnad att samordna och styra funktionerna för de olika i systemet ingående elementen.
Först läses valet av stiltyp, punktstorlek, tecken och teckenposi- tioner av hålremsläsaren 58 och lagras i huvudminnet 56. Därefter läses de kodade data som definierar de individuella tecknen av den valda stiltypen från en flexskiva av läs/skriv-enheten 6U och lagras i direktaccessminnet (RAM) 72. Allteftersom de pá varandra följande teckenblocken läses ut från flexskivan, placeras de i särskilda positioner i minnet, så att dessa block därpå kan adresseras allt- eftersom tecknen avbildas. RAM 72 erbjuder därför lätt åtkomst till de komprimerade data som definierar tecknen i en enda stiltyp.
Efter instruktioner från kalkylatorn SO mottar kodomvandlaren 70 kodade data för ett enkelt tecken på "informationsbehov"-basis från RAM 72 och beräknar stràl-omkopplingspunkterna för var och en av de på varandra följande rasterlinjerna. Kodomvandlaren håller även räkning på och uppdaterar X- och Y-rasterkoordinaterna. För att underlätta beräkningen av strål-omkopplingspunkterna tjänstgör ett i omvandlaren förefintligt programmerbart läsminne (FROM) såsom uppslags-tabell för varje definierad vektors lutning.
Teckenavbildningssystemet innefattande elementen 7U - 90 avbildar på varandra följande tecken-linjer på den ljuskänsliga filmen. Efter instruktioner från kalkylatorn 50 frammatar avbild- ningssystemet filmen efter varje fullbordad linje.
Som ovan nämnts är samtliga i fig. 21 visade komponenter med undantag av kodomvandlaren 70 och teckengeneratorn 7H av välkänd 10 15 20 25 30 35 H0 456 D49 28 konstruktion och de finns i marknaden att tillgå såsom standardkom- Under det att kalkylatorn 50 är programmerad, består programvaran väsentligen av standardiserade dataförflyttnings- och maskinstyrningsinstruktioner i en given ordningsföljd. Programvaran ligger sålunda väl inom kompetensomràdet för en fackman på program- meringsområdet.
Teckengenereringen sker pá följande sätt: Startpunkt och vektordata avseende den del av tecknet som skall avbildas i en vertikal avsökningslinje adresseras (uppropas) från RAM 72 och tillföres med låsning till kodomvandlarens ingångsbuf- fert. Allteftersom varje avsökningslínje avbildas, infordras allt efter behov de sekvensiella data som definierar startpunkter och vektorer för nästföljande linje. Eftersom vektorerna kan sträcka sig och normalt sträcker sig i X-riktningen tvärs över ett antal vertikala avsökningslinjer, infordras en ny vektor endast om den eller de närmast föregående vektorerna ej är tillfyllest för att definiera nästa avsökningslinje.
Beräkningen av katodstrålerörets stráles omkopplíngspunkter för nästa avsökningslinje fortskrider därefter med användning av de lutningar som är lagrade i nämnda vektorlutnings-FROM. av fig. 22A är de Y-intercept-lägen eller -värden för vilka stràlen skall slås till eller från lagrade i en s.k. register-stack 91 av typen "först in, först ut" (FIFO). avsökningslinje införes i tur och ordning i successiva “Y-register" i stacken, varvid det första eller lägsta Y-värdet placeras i det ponenter.
Som framgår Y-intercept-värdena för varje nedersta Y-registret och successivt högre Y-värden i successivt högre register. Det högsta Y-värdet i avsökningslinjen flaggas med en ENDSC-bit (svep-slutbit) för att ange att svepet kan återstäl- las. Utgângssignalen från det nedersta Y-registret 1 stacken omvandlas till ett analogt värde i en digital/analog-omvandlare 92 i teckengeneratorn YU. Teckengeneratorn har även en rampgenerator 93 som alstrar en med tiden likformigt stigande utgángssignal. En Jämförare QU, som är ansluten för att ändra tillståndet för en vipp-omkopplare 95, slår till eller ifrån CRT-strálen när rampgene- ratorns utgångssignal när ett analogvärde lika med D/A-utsignalen och indexerar stacken 91 att anropa eller infordra det näst högsta Y-intercept-värdet. Om nämnda ENDSC-bit är "till" när en stràle-om- koppling sker så att en signal förefinns på ledningen 96, kommer rampgeneratorn 93 att återställas för att alstra en Y-avlänknings- spänning som är strax under Y-avlänkningsspänningen för nästföljande /x 10 15 20 25 30 35 BO 456 049 29 Härigenom undviker man överdrivet stort åter- gàngssvep och ökas utgångshastigheten. CRT-strálen áterställes sålunda ej till tecknets eller "em-kvadratens" (M-kvadratens) baslinje} den återställes istället till den lägsta erforderliga nivån för nästa avsökningslinje och behöver ej drivas två gånger över ett utrymme där den ej kommer att slås till.
Rampgeneratorn 93 bringas att snabbt minska sin utgàngsspänning i en konstant takt när en signal förefinns på dess återgángssvep-in- gång. Denna återgångssvep-signal stannar kvar till dess att ut- gångssignalen från ramp-generatorn har fallit under det lägsta Y-interceptvärdet för nästa avsökningslinje. alstras av en logikkrets som innehåller en OCH-grind 97, en inverte- rare 98 och en vippa 99 som tar emot en ingángssignal från jämföra- ren QH och ENDSC-signalen pâ ledningen 96. Återgångssveplogikens verkningssätt áskådliggöres i fig. 22B.
Denna figur visar den CRT-Y-avlänkningsspänníng som alstras av rampgeneratatorn 93 under ett flertal svep över nämnda "Q" i enlig- het med fig. 15. Vid början av det första svepet H3 införes Y-intercept-värdena Y6 och Y7 i det lägsta resp. det näst lägsta Y-registret i FIFO-stacken 91. Eftersom utsignalen från rampgenera- torn startar i en punkt något under den analoga spänning som är ekvivalent med Y6, ger jämföraren 9U ingen utsignal. Men när Y-avlänkningsspänningen när värdet Y6 avger jämföraren 9H en signal som slår om vippomkopplaren 95 från FRÅN till TILL och infordrar nästa Y-värde, Y7, från FIFO-stacken 91. Y-avlänkningsspänningen fortsätter rampen uppåt till dess att den när en spänning ekvivalent med Y7. Eftersom nästa Y-värde, Y8, är betydligt lägre än Y-avlänk- ningsspänningen, fortsätter jämföraren 9B att alstra en signal till dess att rampgeneratorns utspänning har minskats. Eftersom en ENDSC-bit är förknippad med Y7, förefinns en signal pá ledningen 96. Utsignalen från jämföraren 99 och signalen på ledningen 96 triggar OCH-grinden 97 och 1-ställer vippan 99 för alstring av en återsvepsignal. När utgångssignalen från rampgeneratorn 93 har fallit under värdet Y, faller utsignalen från jämföraren 9U och återställer vippan 99 genom inverteraren 98. Detta medför att àtersvepsignalen elimineras och att rampspänningen tillåts att stiga Y-intercept-värde. Återgängssvepsignalen längs rampen på svepet HU. Y-avlänkningsspänningen kommer att snabbt nå värdet Y8, vilket medför att jämföraren 9U återigen ger en utgångssignal som slår om strålen från FRÅN till TILL. Strålen slås ifrån igen när Y-avlänkningsspänningen när Y9, slås till när den när 10 20 25 30 35 LO 456 049 30 Y1O och slås ifrån igen när den når Y11. Eftersom en ENDSC-bit är förknippad med Y11, upprepas återsvep-proceduren och svepet H5 påbörjas.
Av den ovan lämnade beskrivningen av verkningssättet framgår att den övre och den undre gränsen för strålens väg i varje särskilt svep ungefär motsvarar det lägsta och det högsta Y-interceptvärdet i detta svep; m.a.o. den undre och den övre gränserna för tecknets skärningspunkter.
Fig. 23 visar vad som går in till och ut fràn kodomvandlaren 70. Signalerna till och från hjälp-databussen SH visas till vänster och signalerna till och från teokengeneratorn 7U visas till höger.
Dessa signaler definieras enligt följande: XDB - 16-bits dataord som definierar det tecken som skall avbildas mottages parallellt från RAM 72. 3 styríngångar, vilkas tillstànd bestämmes av kalkylatorn 50, initierar och styr operationer i XBHS - kodomvandlaren.
En styringångssígnal som härrör från kalkylatorn 50 används för att fullständigt återställa kodomvandlaren oberoende av tillstánden för alla XRST - andra signaler.
CYCREQ - CYCACK - Data-insignaler uppträder vid mottagning av en XMBS-signal. len av den s.k. "handskakningsoperationen" och Kodomvandlaren övertar då kontrol- avger en signal på CYCREQ så snart den behöver ett dataord. Ordet lås-lagras när datakällan svarar med en signal på CYCACK, och CYCREQ-signa- len faller.
När kodomvandlaren har fullbordat behandlingen av ett tecken antar den ett "ledig"-tillstànd till dess att teckengeneratorn sänder en signal pà ledningen EMPTY. len på EOC till dess att XBMS-signalen, som anger data-insignal, avlägsnas.
EOC - Kodomvandlaren avger då signa- SDATA - 11-bits dataord som representerar intercept-vär- den eller strál-omkopplingspunkter överföres till teckengeneratorn i serieform.
SERCK - Kodomvandlaren alstrar en 5 MHz klocksignal, vilken tillföres till teckengeneratorn för att synkronisera bitarna i utgångs-dataordet (SDATA). 10 15 20 25 30 35 40 456 049 31 Om utgångs-dataordet hänförde sig till tecknets högsta konturkurva i denna punkt, vidarebefordras en signal till teckengeneratorn TU på denna ledning för att avsluta svepet. leckengeneratorn infordrar data genom att till föra en signal på DATRQ. Kodomvandlaren svarar med en signal på DATAV när ett utgàngsdataord finns tillgängligt. Databitarna sändes då pà SDATA under de därpå följande 11 klockperioderna och signalen på DATAV faller.
Det "vita fältet" på ett teckens framkant under kastas skaloperation i kodomvandlaren. Fältets bredd överföres till teckengeneratorn såsom en serie pulser. Varje puls motsvarar en förskjut- ning av ett linjesvep. Sido-referenslinjen kan förskjutas bort från eller i riktning mot det närmast föregående tecknet. Fältets bredd och riktningen anges i teckendata. Pulser uppträder på STEPUP för en stigande sido-referenslinje och på STEPDN för ett underskuret tecken. uppträder i början av teckenbehandlingen innan några dataord tillföres till teckengeneratorn.
Teckengeneratorn avger en EMPTY-signal när dess Denna signal används av ENDSC - DATRQ - DATAV STEPDN - STEPUP Pulserna EHPTY - ' utgángsbuffert är tom. kodomvandlaren för att bestämma när ett tecken har blivit fullständigt utritat.
Fig. 2H är ett blockschema som visar kodomvandlarens komponen- ter. Komponenten 100, som kallas "huvudstyrorgan", visas uppdelad i underkomponenter i fig. 25. Styrorganet 100 tar emot 16 ingàngssig- naler från en styr-avkodare 102 och fyra ingángssignaler motsvarande XBMS (signalerna 0, 1, 2) samt XRST. Avkodaren 102 alstrar de 7 styr-ingángssignalerna ur 8 signaler, vilka representerar start-ord och styr-bytes vilka mottages från en ingàngsbuffert 104. Data fràn de 16 XDB-linjerna inmatas till och kvarhålles i ingángsbufferten Huvudstyrorganet, som visas 1 fig. 25, alstrar H6 utgàngssig- naler för att styra kodomvandlarens funktion. Dessa signaler tillföres till de olika logikelementen i omvandlaren för att pà känt sätt släppa igenom och kvarhâlla signalerna i en förutbestämd ordningsföljd. Styrorganet innefattar en tillstânds-PROM 106 vilken bestämmer nästa tillstånd för kodomvandlaren i jämförelse med det 10 15 20 25 30 35 U0 456 049 32 aktuella tillståndet och tillstånden på 16 styr-ingångar. Nämnda tillstånds-PROM adresseras med U signaler som mottages från en multiplexer 108 och 5 signaler som mottages från en láskrets 110.
Vad som går ut från nämnda tillstånds-FROM tillföres till låskretsen 110, vilken 1 sin tur är ansluten till en tillståndsavkodare 112 och en "pseudo"-tillstånds-PROM 114.
Denna pseudo-tillstånds-FROM 11H kan modifiera sitt utgångs- tillstånd under en processor-cykel om det rådande tillståndet och dess styringångar tvingar den därtill. Förutom tillstånds-utgångs- signalen från låskretsen 110 mottar pseudo-tillstânds-FROM'en de U styrsignalerna, i princip från avkodaren 102. Av de 8 utgàngsresul- taten från pseudo-tíllstånds-PROM 11U avkodas 5 i en pseudo-till- stands-avkodare för alstring av 2U styr-utgàngssignaler.
Vektorbehandling: Dessa är följande: (1) Intereept-värde (11 bitar). lagrat i intercept-minnet 120, är Y-värdet av på varandra följande vektorändar kring en kontur. Sålunda: Y = AX startpunkt (:AKN,ïAYN är den N:te vektorn) Y = Yo +/- :Ayo Y X1 +/- mig Fem parametrar lagras för vektorbehandling.
Intercept-värdet, som är N-*O II YN = YN_<| +/-.ÃÅYN_1. (2) 2AX-värde (U bitar). SAX-värdet, som är lagrat i ZAX-minnet 122, är det horisontella avståndet från högra änden av den aktuella vektorn. Man har sålunda för successiva rutnätlinjeberäkningar: 3ÅX = 3ÅXN (ny vektor börjar här) :ÛÅXZfAX-l ) ) minskade i efterhand 'f-AX : fßx -1 ) IAX = 1 (slut på vektorn). (3) AX-värde (5 bitar). Värdet Ad, som är lagrat 1 ¿H¥min- net 12ü, är ungefär lika med det vertikala avståndet från högra änden av den aktuella vektorn. De fyra mest signifikanta bitarna 10 15 20 25 3O 35 U0 AY-värde, Sóy. 456 049 33 tas 5á3°m inßånšsväfdet Då AYN och den minst signifikanta biten införes medelst en uppslagstabell för att förbättra noggrannheten.
(U) Förtecken-biten (1 bit). Förtecken-biten, som är lagrad 1 styrbit-minnet 126, är noll för en vektor 1 den ena kvadranten (t.ex. den övre) och ett för en vektor i den andra kvadranten (t.ex. den undre). (5) Giltighetsbit (1 bit). Giltighetsbiten, som är lagrad 1 styrbit-minnet 126, är 0 för ett intercept-värde som är ett nytt startpunktvärde Y utan någon vektor-modifiering och 1 för ett modifierat intercept-värde som kan användas för beräkning av ett utgángsvärde.
Med undantag för buss-slingorna A, B och C, vilka innehåller interceptminnet 120, en ackumulator 128 och ett korrektionsminne 130, ignoreras förtecknet och endast positiva värden beaktas.
Förteckenbiten införes i ackumulatorn där så erfordras.
Beräkningen börjar med ett startpunktvärde Y som lagras i intercept-minnet 120, och åáü-minnet 122 kvarháller förskjutningen till början av den första vektorn, varvid giltighetsbiten är noll- ställd. Allteftersom var och en av rutnätlinjerna behandlas, nedräknas flAX-minnet; när det når värdet "1" signalerar den efter en Intercept-minnet 120 uppdateras med .AY-värdet och AX Giltighetsbiten 1-ställas, så att data blir till- gängliga för utmatning. Denna beräkningsprocess åskådliggöres i fig. 25. Vid efterföljande rutnät-linjer nedräknas ¿AX-minnet 122 och ¿AY minskas med utgângsvärdet från en vektorlutnings~PROM 129.
Denna FROM adresseras med .AX och LAY och avger ett normaliserat Detta värde äåy inverteras av en interpolations-FROM 132 som vid detta arbetssätt endast tjänstgör som en komplemente- rande buffert. Detta utgàngsresultat adderas sedan till =AY i en adderare 13ü och återställes till .AY-minnet 12U.
Samtliga kodomvandlarminnen är uppbyggda av 16 "djupa" direkt- accessminnen (RAM). Dessa RAM adresseras parallellt från ett U-bit 16 djupt FIFO-register i enlighet med vad som framgår av fig. 20.
Detta register innehåller RAM-adresserna för de aktuella konturerna i ordningsföljd enligt ökande intercept-värde. Nämnda FIFO drivs normalt med sina utgångar anslutna till sina ingångar, så att adresserna återcirkuleras. För varje vektor-processoperation klockas en adress in i FIFO's utgàngsregister och den föregående adressen laddas på FIFO's ingång.
Nya startpunktadresser kan införas i slingan från ny-adress- vektor-byte. och ;AY lagras. 10 15 20 25 30 35 RO 456 049 3H -räknaren och tillfogas till FIFO-stacken. Vid kontur-slutpunkterna återladdas ej adressen i FIFO och den raderas därför från stacken.
Från början är R-bits ny-adress-räknaren inställd på en maximal räkneställning av 15 och räknas ned för varje inträffande start- punkt. Varje RAM-plats som innehåller konturinformation (d.v.s. adress, finns i FIFO-stacken) har biten "ej ledig" 1-ställd. Bíten "ej ledig" (1 bit) som är lagrad i styrbit-minnet 126, är O för en tom RAM-position och 1 för en upptagen position. En konturslut- -styrkod medför att biten "ej ledig" áterställes till 0.
När 16 konturer uppträder i ett tecken, kommer ny-adress-räkna- ren att ha nedräknats till noll. Alla eventuella ytterligare startpunkter måste föregås av åtminstone ett lika stort antal konturslut-koder, eftersom ej flera än 16 konturer kan behandlas på en och samma gång av kodomvandlaren. Vid mottagning av en dylik konturstart-kod adresserar huvudstyrorganet RAM-positionerna sekven- siellt genom att nedstega ny-adress-räknaren till dess att en adress med biten "ej ledig" 0-ställd påträffas. Denna adress införes då i FIFO-stacken och används för den nya konturen.
Denna FIFO kan följaktligen kvarhálla en stack av variabel längd med ej konsekutiva värden vilka motsvarar RAM-adresserna för de aktuella konturerna. Den ordningsföljd 1 vilken startpunktkoder och vektorkoder uppträder i teckendata säkerställer att adresserna införas i stacken och sålunda tillföres till RAM-minnena i korrekt ordningsföljd för att ge ökande intercept-värden på utgången.
Det nedersta kontur-låsorganet är ett H-bits register som kvarhåller RAM-adressvärdet för den aktuella nedersta konturen. uppdateras när konturer startas under de befintliga eller när den befintliga nedersta konturen är avslutad och den närmast högre blir den nedersta. Låsorganets utsignal jämföres fortlöpande med den aktuella RAM-adressen, och när de är identiskt lika sänds en styr- signal till huvudstyrorganet, vilken signal anger att en avsöknings- linje just har fullbordats.
Detta RAM-adresseringssystem erbjuder en mycket snabb och flexibel metod att cykliskt behandla ett variabelt antal konturer under upprätthållande av en korrekt ordningsföljd utan några utskju- tande delar vid linjernas ändar.
Skal-anpassning: Ett värde representerande teckenbredden i punkter inmatas i ett skal-organ 136 innan behandlingen av vektorn påbörjas. Skal-organet har till uppgift att horisontellt ska1-an- Det passa tecknet genom bestämning av den punkt i vilken Y-värden skall 10 15 20 25 30 35 HO 456 049 35 vidarebefordras till utgångsbufferten 138 för serie-överföring till teckengeneratorn. Skal-organet 136 informerar huvudstyrorganet 100 om huruvida det skall beräkna nästa rutnätlinjevärden eller mata ut de aktuella Y-värdena. Om Y-värden skall tillföras till utgångsbuf- ferten tillhandahåller det antingen interpolationsadressen eller medelvärdesbildnings-skalfaktorn i enlighet med vad som kommer att framgå av det följande.
Skal-organet arbetar med mycket större upplösning än resten av kodomvandlaren, detta för att säkerställa stor noggrannhet. Den använder 16 gånger så stor upplösning som vektorernas, vilket är U gånger den upplösning som erfordras för interpolering av vektorerna för förstoring till ett stort antal punkters storlek. Om vektorupp- lösningen är X linjer/"em"(M) så arbetar skal-organet med 16X linjer/"em". Skal-organet approximerar sålunda till bråkdelen 16X/W, vilket motsvarar antalet skalorgan-linjer för varje erforder- lig utgångslinje. Detta uppnås genom att man repetitivt väljer växelvis heltalet under 16X/W och heltalet över 16X/W olika antal gånger. En U-fas-cykel används, varvid varje heltal uppträder tvâ gånger och med olika antal repetitioner i varje fas. Om antalet repetitioner representeras av talen NO, N1, M2 ooh N3 och heltalet under 16X/H representeras av M, så kan approximationen uttryckas: 16x (NO x M)+ ___: w N1+N2+N3+Nu Ett speciellt fall inträffar när storheten 16X/W själv är ett helt tal, så att endast ett enda heltal används, varvid antalet repetioner är utan betydelse.
Skal-organet visas i detalj 1 fig. 30. Bredd-registret inne- håller det konstanta breddvärdet som tillhandahållas av kalkyla- Detta värde används för att adressera två PROM-uppslagstabel- ler. Den ena innehåller antalet linjer (M) mellan tvâ på varandra följande utgångslinjer, vilket antal är lika med hela tal under och över den erforderliga bråkdelen. Den minst signifikanta av de båda bitar som definierar fasnumret (P) används i adressen för val mellan de båda heltalen för varje inställt bredd-värde. Den andra tabellen innehåller antalet repetitioner (N). Denna tabel adresseras dess- torn. a 'f - 10 15 20 25 30 35 NO 456 049 36 utom av båda bitarna i fasnumret, så att man tillåter olika antal repetitioner i alla fyra faserna.
Vad som erhålles ur tabellen över antalet linjer vidarebeford- ras via en adderare och grenas till de U minst signifikanta bitarna som är kvarhållna i rest-låskretsen och de fyra mest signifikanta bitarna som inmatas till linjeräknaren. Värdet (L) I linjeräknaren motsvarar antalet linjer vid vektorupplösningen mellan två på varandra följande utmatningar, eftersom elimineringen av de fyra minst signifikanta bitarna effektivt sett innebär division med 16.
Vad som erhålles ur tabellen över antalet repetitioner inmatas i repetitionsantal-räknaren när dess räkneställning (R) när värdet noll. Sålunda är det 1 tabellen lagrade värdet en enhet mindre än antalet erforderliga repetitioner.
Skal-organets arbetssätt framgår av flödesschemat i fig. 31.
Skal-organets funktion initieras vid början av varje tecken, och det triggas därefter till individuella cykler på order från huvudstyr- organet, som i sin tur avkänner "ut-linje"-styrsignalen.
Användning av skal-organet i kodomvandlarens operationer àskådliggöres i det i fig. 27 visade flödesschemat. genomför en cykel vid slutet av behandlingen av varje rutnät-linje för tecknet och efter utsändning av värdena för varje utgångs-svep.
Det avkända tillståndet för utgångs-linjesignalen bestämmer vilken slinga som genomgås. Härav följer att varje skal-organ-cykel efter en rutnät-linjeberäkning stegar ned linjeräknaren och varje skal-organ-cykel efter en utmatningsoperation laddar linjeräknaren.
Vid små punkt-storlekar kommer "nej"-slingan att användas oftare, eftersom ett flertal rutnätlinjer inträffar mellan de utgående linjerna. Vid stora punkt-storlekar används å andra sidan "ja"- -slingan oftare, eftersom ett flertal utgångslinjer inträffar mellan rutnät-linjerna.
Interpolationsadressen tillföres helt enkelt från de mest signifikanta bitarna i rest-låsorganet. Detta specificerar vilken av interpolationslinjerna som erfordras.
Den medelvärdesbildande skalfaktorn bestämmer den "vikt" som åsättsšåy-värdena vid alstringen av korrektionstermen. "Viktningen“ beror på det totala antal värden för vilka medelvärde skall bildas och vilken speciell§Ãy inom detta totala antal som är under behand- ling. Vid de små utgångs-storlekar vid vilka medelvärdesbildning utföres är en mycket stor noggrannhet obehövlig. Sålunda används endast två bitar för att definiera det totala antalet värden (linje- Skal-organet 10 15 20 25 30 35 U0 456 049 37 räknarens ingång ignorerar den minst signifikanta biten) och utgång- en från linjeräknaren bestämmer vilken speciell_§y som är under behandling. En FROM-uppslagstabell adresseras av dessa sex linjer och en av åtta skalfaktorer väljes.
Interpolerad utgång: Vid punkt-storlekar för vilka interpola- tion används, avgrenar kodomvandlaren utgångsvärden som beräknats genom linjär interpolation mellan rutnätlinjerna. Denna interpola- tionsprocess âskâdliggöres i fig. 28.
Intercept- eller skärningspunktminnet 120 innehåller absoluta värdet på Y för slutet av den aktuella vektorn. Ett AY-minne 12U innehåller skillnaden mellan intercept-värdet och Y-värdet vid den senaste rutnätlinjen. Skal-organet 136 avger en interpolationsad- ress till interpolations-FROM 132, vilket minne även tillföres värdet Ãy från vektorlutnings-PROM 129. Utgången från interpola- tions-PROM 132,-§y1, är en proportion av dy vilken är avpassad till interpolationsläget. Detta värde subtraheras från AY i addera- ren 13H och uppträder på D-bussen. Det tillföres till ackumulatorn 128 via A-bussen, och B-bussen överför utgångsdata från íntercept-- minnet 120. C-bussen överför det korrekta utgángsvärdet till utgángsbufferten 138.
Utgångsbufferten håller kvar det beräknade värdet till dess att teckengeneratorn meddelar att den är klar att ta emot det. Serie- -överföringen genomföres därefter, och nästa utgángsvärde-beräkning kan börja. Om det överförda värdet är det som gäller den högsta aktuella konturen "flaggar" kodomvandlaren teckengeneratorn efter överföringen pá ENDSC-styrledningen.
Medelvärdes-utgång: Vid små punktstorlekar, där det finns mer än tre rutnätlínjer mellan två på varandra följande utgångs-linjer, kan en medelvärdesbildande algoritm användas för att beräkna Y-ut- gàngsvärden. Korrektionsminnet 130 används för detta ändamål.
Detta minne innehåller ett korrektionsvärde som appliceras på värdet i intercept-minnet 120 för alstring av utgångsvärdet. Det medelvär- desbildande systemet ignorerar interpolationslínje-adresser och ger utgángsvärde andast för ett helt antal rutnätlínjevärden.
Beräkningen baseras på ekvationen för det aritmetiska medelvär- det av värdena X0 till Yn_1, vilken ekvation lyder: -1 I! 5 ll O _ 1 _ , å _ E __ {n(Yo 11) + n (Y1 Y2) + '°° + n(Yn~1 Ynfl + Yn 10 15 20 25 30 35 NO 456 049 38 Uttrycket inom hakparenteserna är korrektionstermen. det beräknas med utgångspunkt från Y-värdena på varje rutnätlinje och bildande av medelvärdet av dessa mellan utgångslinjerna.
Sålunda blir n-1 antalet rutnätlinjer mellan utgångslinjerna och de ây-utgångsvärdena från vektorlutnings-FROM 129.
Medelvär- olika termerna är då Tillämpningen av ekvationen illustreras i fig. 32, där utgångs- linjen vid G3 skall beräknas. Intercept-minnet innehåller värdet Y för vektor-änden på G5 genom hela operationen. Sålunda har man: Yn = Y -'AI (interceptminnet minus Y-minnet) YO-X1 = áyo (veknoriutning PROM-utgång på G1) Y1-Y2 = Sy1 ( " " " G2) Y2-Y3 = áyz ( " " " G3) n = 3 Medelvärdet på Y för linjerna Go, G1, G2 blir wl-L m H2 + who öY + 6Y 1 + (Y-AY) 2 Det programmerbara korrektions-läsminnet (FROM) 1UO tar ut- gångsvärdet dy från vektorlutnings-PROM 129 och multiplicerar det med en faktor som är ungefär lika med den tillämpliga föregående bråkdelen. Denna väljes medelst ett mindre PROM - kallat faktor- val-FROM - i skal-organet 136 som adresseras med antalet rutnätlin- jer mellan utgàngslinjerna (divisorn) och det aktuella linjeantalet (dividenden). Den tre-bit-kod som tillåter val av åtta skalfaktorer avges av nämnda faktorval-PROM till nämnda korrektíons-PROM.
Korrektionstermen är uppbyggd genom addition av utgångsvärdena från ett korrektions-PROM 1H0 till innehållet i korrektionsminnet 130. börjar därefter bygga upp korrektionen för nästa utgångsvärde.
FROM-utgångsvärdet på B-bussen adderas alltid till korrektions-min- nesutgångsvärdet på A-bussen medelst ackumulatorn 128. Värdet i korrektionsminnet ändrar tecken så snart konturen växlar kvadrant.
Korrektionsminnet innehåller endast åtta bitar, men det ignorerar Detta minne raderas varje gång en utgângslinje uppträder och den minst signifikanta biten på C-bussen eftersom denna noggrannhet ej är erforderlig när det gäller de små punktstorlekar som det här är fråga om. Effektivt sett har det sålunda nio bitar och det har ett spill som begränsar om det gäller mycket stora förskjutningar.
Det värde som lagras i íntercept-minnet 120 är vanligtvis ej Yn i ekvationen ovan utan det är slutet på den aktuella vektorn.
Omedelbart före utmatningen justeras därför korrektionsmínnet med 10 15 20 25 30 35 NO 4s6'o49 39 det aktuella värdet AI så att hänsyn tas till avvikelsen.
Utgângsvärdet beräknas slutligen i ackumulatorn 128 genom att tillföra korrektionsminnets utgângsvärde på A-bussen och inter- cept-minnets utgángsvärde på B-bussen. C-bussen överför det korrek- ta utgångsvärdet till utgängsbufferten 138.
Som ovan nämnts kvarhåller utgångsbufferten det beräknade värdet till dess att teckengeneratorn ger signal att den är klar att ta emot detsamma. Serie-överföringen genomföres därefter, och nästa utgångsvärde-beräkning kan börja. sig till den högsta aktuella konturen, teckengeneratorn efter överföringen på ENDSC-styrledningen.
Ehuru de anordningar som ovan beskrivits utgör föredragna Om det överförda värdet hänför "flaggar" kodomvandlaren till utföringsformer av uppfinningen, ligger det inom en fackmans kompe- tens att modifiera anordningarna ifråga på olika sätt utan att uppfinningstanken eller ramen för uppfinningen frángàs. Alla sådana varianter ligger inom uppfinningens ram om de täckes av bifogade patentkrav.

Claims (8)

45s 049 to PATENTKRAV
1. Sättmaskinanordning för automatisk alstring av tecken och, innefattande ett teckenavbildningssystem för att skriva grafiska teckens kvalitet uppvisande tecken av godtyckligt utseende på ett tryck-underlag (200); ett stiltyp-lagringssystem på vilket digitala data är lagrade vilka definierar varje tecken som skall avbildas (6H, 72); samt ett elektroniskt beräknings- och styrsystem vilket förbinder stiltyp-lagringssystemet med teckenavbildningssystemet för att styra teckenavbildningssystemet i enlighet med nämnda digitala data (50); varvid teckenavbildningssystemet innefattar en ljusfläck-avsöka- re för att skriva tecken medelst ett flertal parallella avsöknings- svep (78); varvid stiltyp-lagringssystemet innefattar ett lagringsmedium (65) på vilket nämnda digitala data är registrerade, vilka innefat- tar (a) digitala tal som definierar nämnda första och andra koor- dinater för startpunkterna för åtminstone två konturer av ett tecken som är överlagrat på en normaliserad kodningssats av första och andra koordinater (25, 26); och (b) digitala tal som definierar ett flertal rätlinje-vektorer vilka sträcker sig i följd efter varandra längs tecknets kontu- rer från nämnda startpunkter, varvid varje vektor har ett första digitalt tal som representerar den första koordinatens avstånd och ett andra digitalt tal som representerar den andra koordina- tens avstånd frán den ena änden av vektorn till den andra (1-2U); och _ varvid nämnda beräknings- och styrsystem innefattar: (a) organ för att erhålla direktaccess till nämnda lagrade digitala data och för att avge nämnda digitala data i följd efter varandra (70, 72); och (b) organ som är anordnat att ta emot nämnda digitala data i följd efter varandra för att omvandla dessa data till tecken-- intercept-värden för varje svep av nämnda avsökningsorgan (70).
2. Anordning enligt kravet 1, k ä n n e t e c k n a d av att beräknings- och styrsystemet dessutom innefattar ingàngsorgan för att avge driftsinstruktioner vilka innefattar identiteten och punkt- storleken för tecken som skall avbildas (58, 60, 62), och varvid identiteten för de tecken som skall avbildas tillföres till nämnda direktaccess-organ för val av tillämpliga lagrade digitala data och varvid nämnda punkt-storlek är anordnad att tillföras till omvand- 4, 456 049 lingsorganet för beräkning av tecknets intercept-värden (50).
3. Anordning enligt kravet 1, k ä n n e t e c k n agd av att den ena av nämnda första och andra koordinater är parallell med nämnda avsökningssvep (40-H5), varvid nämnda intercept-värden är värdena för nämnda första koordinat i skärningspunkterna mellan vektorerna vid varje successivt värde på den andra koordinaten (YO-Y15) och varvid intercept-värdena är anordnade att beräknas för successiva värden på den andra koordinaten genom addering av lut- ningen för varje vektor som är förknippad med nämnda intercept-värde som skall beräknas till respektive intercept-värde motsvarande det omedelbart föregående värdet på nämnda andra koordinat (12U, 129, 134).
4. Anordning enligt kravet 1, k ä n n e t e c k n a d av att teckenavbildningssystemet har en fast utgángs-upplösning (78) och att omvandlingsorganet innefattar organ som reagerar för punktstor- leken för inställning av det antal avsökningslinjer som erfordras för att definiera ett tecken, så att tecknet skal-anpassas i en koordinatriktning (70, 136).
5. Anordning enligt kravet 1, k ä n n e t e c k n a d av att omvandlingsorganet innefattar organ för att interpolera nämnda tecken-intercept-värden för avbildning av tecknen med en finare upplösning än upplösningen för nämnda normalíserade kodningssats av första och andra koordinater (70, 132).
6. Anordning enligt kravet 1, k ä n n e t e c k n a d av att omvandlingsorganet innefattar organ för att bilda medelvärden av nämnda tecken-intercept-värden för avbíldning av tecken med en grövre upplösning än upplösningen för nämnda normaliserade kodnings- sats av första och andra koordinater (70, 1U0).
7. Anordning enligt kravet 1, k ä n n e t e c k n a d av att nämnda digitala data dessutom innefattar åtminstone ett digitalt tal som definierar huruvida ett tecken skall kursiveras, d.v.s. under- skäras (25a), och att omvandlingsorganet är anordnat att som svar på nämnda åtminstone ett digitalt tal beräkna intercept-värden för kursíverade tecken i kursiverade lägen (70).
8. Anordning enligt kravet 1, k ä n n e t e c k n a d av att åtminstone en av nämnda startpunkter är representerad såsom ett digitalt tal som definierar det horisontella avståndet från koordi- natsatsens vänstra sida till startpunkten och ett annat digitalt tal som definierar det vertikala avståndet från tecknets baslinje till startpunkten (25a, 25b).
SE8501905A 1978-05-12 1985-04-18 Settmaskinanordning for automatisk alstring av tecken SE456049B (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/905,451 US4199815A (en) 1978-05-12 1978-05-12 Typesetter character generating apparatus

Publications (2)

Publication Number Publication Date
SE8501905D0 SE8501905D0 (sv) 1985-04-18
SE456049B true SE456049B (sv) 1988-08-29

Family

ID=25420841

Family Applications (3)

Application Number Title Priority Date Filing Date
SE7904009A SE446705B (sv) 1978-05-12 1979-05-08 Sett och anordning att koda tecken i relation till en normaliserad kodningssats av forsta och andra koordinater
SE8501905A SE456049B (sv) 1978-05-12 1985-04-18 Settmaskinanordning for automatisk alstring av tecken
SE8502470A SE456050B (sv) 1978-05-12 1985-05-20 Settmaskinanordning for automatisk alstring av tecken

Family Applications Before (1)

Application Number Title Priority Date Filing Date
SE7904009A SE446705B (sv) 1978-05-12 1979-05-08 Sett och anordning att koda tecken i relation till en normaliserad kodningssats av forsta och andra koordinater

Family Applications After (1)

Application Number Title Priority Date Filing Date
SE8502470A SE456050B (sv) 1978-05-12 1985-05-20 Settmaskinanordning for automatisk alstring av tecken

Country Status (8)

Country Link
US (1) US4199815A (sv)
JP (6) JPS54149522A (sv)
CA (3) CA1105619A (sv)
DE (3) DE2954383C2 (sv)
FR (1) FR2425677B1 (sv)
GB (2) GB2089179B (sv)
IT (1) IT1116588B (sv)
SE (3) SE446705B (sv)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JPS54149522A (en) 1979-11-22
SE7904009L (sv) 1979-11-13
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
SE456050B (sv) 1988-08-29
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
SE456049B (sv) Settmaskinanordning for automatisk alstring av tecken
US4298945A (en) Character generating method and apparatus
US4254468A (en) Typesetter character generating apparatus
US4555191A (en) Method of reducing character font
US4331955A (en) Method and apparatus for smoothing outlines
EP0344827B1 (en) Method of and apparatus for converting outline data to raster data
US20090060341A1 (en) Information input output method using a dot pattern
EP0526295A2 (en) Image forming apparatus
EP0180258B1 (en) Decoder
EP0392499A3 (en) Apparatus for generating high-quality character pattern
US5317650A (en) Determination of the arc length of a curve
GB2093660A (en) An image generator and decoder for use in an ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data
JP2952915B2 (ja) ドットパターンデータ発生装置
US4446491A (en) Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data
JP2003099771A (ja) データ変換装置およびその方法、並びに当該方法を用いたプログラム
JPH06100905B2 (ja) パターン出力方法
JPH05257452A (ja) 文字信号発生装置
JP3102979B2 (ja) 罫線変換機能を持つ文書情報処理装置
JPS60231267A (ja) 文字間制御方式
JP3039214B2 (ja) データ変換装置
KR900002811B1 (ko) 문자, 화상 데이터의 압축방법
JP2647510B2 (ja) 文字処理装置及び方法
JPH01249461A (ja) フォント表現方式
JPS595343A (ja) 情報出力装置
JPS62207653A (ja) 文字出力方法及び装置

Legal Events

Date Code Title Description
NUG Patent has lapsed

Ref document number: 8501905-7

Effective date: 19891128

Format of ref document f/p: F