SE437891B - Apparat for generering av tecken - Google Patents

Apparat for generering av tecken

Info

Publication number
SE437891B
SE437891B SE7800499A SE7800499A SE437891B SE 437891 B SE437891 B SE 437891B SE 7800499 A SE7800499 A SE 7800499A SE 7800499 A SE7800499 A SE 7800499A SE 437891 B SE437891 B SE 437891B
Authority
SE
Sweden
Prior art keywords
contour
instruction
coordinate
character
memory
Prior art date
Application number
SE7800499A
Other languages
English (en)
Other versions
SE7800499L (sv
Inventor
R L Caswell
G W Evans
Original Assignee
Information Int Inc
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
Priority claimed from US05/359,591 external-priority patent/US4029947A/en
Application filed by Information Int Inc filed Critical Information Int Inc
Publication of SE7800499L publication Critical patent/SE7800499L/sv
Publication of SE437891B publication Critical patent/SE437891B/sv

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/14Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
    • 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
    • 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
    • B41B27/28Control, indicating, or safety devices for individual operations or machine elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Description

78004-99-1 element eller punkt i en punktmatris som svarar mot de tecken- segment som uppstår när ett tecken ligger i matrisen. Ett dylikt punkttypalstringssystem beskrives i den amerikanska patent- skriften 3 165 145. En stor nackdel med detta sätt att åstad- komma teckenalstring består i att det krävs omåttligt stora lagringsutrymmen även i det fall att reproduktion skall ske med moderat ända ned till dålig kvalité.
Ett annat känt kodningssätt består i att en teckenyta bryts ned i ett antal smala band vilka kvantiseras varefter startkoordinaterna och längden av varje sådant band lagras.
En sådan teknik beskrives i den amerikanska patentskriften 3 305 841. En utveckling av denna metod beskrives i den amerikanska patentskriften 3 471 848 där man utnyttjar en in- kremental (increment= litet tillskott) form av kodning av änd- punkterna för successíva band. Detta reducerar det minne som erfordras för kodade teckendata.
Ett helt annat sätt att alstra tecken som kommit att an- vändas under senare tid beskrives i den amerikanska patent- skriften 3 422 419. Där analyseras en uppsättning tecken i och för bildning av ett flertal mönster, vilka är gemensamma för ett eller flera av tecknen och som har i huvudsak rektangulär form. Mönstren består av ett flertal linjesegment av kontrollerad längd. Varje tecken kodas i form av en kombination av vissa bland dessa gemensamma mönster valda mönster. Ett sådant system reducerar visserligen erforderligt lagringsutrymme men kan innebära stora begränsningar vad gäller typsnitten och medför att en viss distorsion förekommer i de alstrade tecknen.
I enlighet med föreliggande uppfinning kodas samtliga tecken i samtliga för lagring i ett minne avsedda typsnitt med avseende på en normaliserad kvadrat. Kvadraten svarar i allmän- het mot det tecken som har den största storleken mätt i typo- grafiska punkter. _ É Apparaten för generering av tecken enligt den föreliggande uppfinningen innefattar en ävsökningsanordning som utför raster- avsökning utmed på varandra följande linjer svarande mot succes- síva värden av en första koordinat, ett minne för lagring av upp- sättningar av instruktioner, varvid varje uppsättning definierar ett tecken genom fastläggande av andra koordinatvärden vilka se ba... Qggåw avs-vw: 'miàfi 1 7800499-1 specificierarändarna av linjära segment av tecknets områden, samt organ för att omväxlande släcka och tända en teckenavsök- ande stråle vid de andra koordinatvärdena.De för uppfinningen utmärkande särdragen är att varje instruktionsuppsättning definierarett flertal konturer av dess tecken och innefattar instruktioner vilka startar delar av konturer, av en beräknings- anordning som arbetar i beräkningscykler koordinerade med linje- avsökningarna, varvid varje instruktion inkluderar en identi- fikation av den kontur till vilken den hör, information som fastlägger lutningen och krökningen av den därpå följande konturdelen och en kod som specificierar antalet beräknings- cykler för vilka instruktionen gäller, varvid beräknings- anordningen är känslig för denna information i och för beräkning av de andra koordinatvärdena över hela den följande konturdelen och är känslig för koden och för cykelberäkningsorgan i och för övertagande av nästa instruktion när det specificierade antalet beräkningscykler har förflutit.
Uppfinningen kommer att beskrivas närmare nedan i anslut- ning till de bifogade ritningarna, i vilka fig. 1 i avsevärt förstorad skala visar en 72:punktig serif avsedd för enhetshorisontal- och vertikalskalfaktorer (HSF=VSF=1) och framställd med ledning av kodade instruktioner enligt föreliggande uppfinning, fig. 2 visar serifen i fig. 1 i avsevärt mycket större skala, vilken serif alstratsur sammakodadeinstruktioner men nu presenteratsmeddentypografiskastorleken4punkterochnæd VSF=18 och HSF=25,774,varvidden inlagdafiguren illustrerar den faktiska presentationen som denna skulle te sig med användande av samma skala som i fig. 1, fig. 3A visar ett tecken, som alstrats i enlighet med instruktionerna i fig. 3B i förhållandetillennormaliserad kvadrat, och fig. 3C visar konturerna för samma tecken som i fig. 3A, vilka konturer är numrerade på det sätt som anges i instruktioner- na i fig. 3B, fig. 4 är en översikt av instruktioner och figuren visar instruktionernas format, -1 l¿H¿ .._1Dc)()1?C?[LqllRrár ¿~ 7800499-1 4, fig. 5 är en förenklad kvadrat som belyser kodning av ett tecken fig. 6 är en förenklad bild över kodbara lutningar, fig. 7 är en värdetabell för lutningarna enligt fig. 6, fig. 8 är en förenklad kvadrat med ett tecken som har enkel form och figuren utnyttjas för att förklara kodningen av lutningen, fig. 9 är en tabell med instruktioner för tecknet och kvadraten i fig. 8, fig. 10 är en tabell med beräknade Y-koordinatvärden för successiva X-koordinatpositioner beräknade med instruktionerna enligt fig. 9, fig. 11 är en uppteckning av det tecken, som genererats med hjälp av de kodade instruktionerna enligt fig. 9, fig. 12 är ett blockschema över ett läsminne för lagring av värdena för de inkrementala ändringarna av Y-koordinatvärdena för mot- svarande lutningsvärden, fig. 13A och 135 visar bitmönstret i läsminnet enligt fig. 12 för baserna 2 resp. 10, medan fig. 130 är en sanningstabell i vilken representativa lutnings- värden enligt fig. 6 är relaterade till binära värden vilkas bitposi- tioner utnyttjas såsom adresseringsbitar för läsminnet enligt fig. 12, fig. 14 är ett förenklat blockschema för en mekanisering av Y-uppdateringsfunktionen vid lutningsberäkningar, fig. 15 är en förenklad uppteckning av krökningar, fig. 16 är en tabell som relaterar krökningarna enligt fig. 15 till binär form och till motsvarande radier, fig. 17 är en uppteckning av successiva lutningar vilka approxi- merar en cirkulär kurva med godtycklig krökningsradie, fig. 18 är en jämförande uppteckning av en följd lutningar, vilka genererats för lika stora X-koordinatintervaller och en kurva, som skall approximeras och kodas, fig. 19 är en förenklad tabell som för ett bestämt kröknings- värde k ger motsvarande lagrade följd av lutningsvärden M resp.'av på förhand bestämda tal Sn för de Y-koordinatändringsberäkningar som skall utföras för varje lutningsvärde och som utnyttjas för att noga anpassa en båge till en cirkulär kurva, ' fig. 20 är en jämförande uppteckning av en kontur, som alstrats i enlighet med krökningstabellen i fig. 19 och av den båge, som skall approximeras, fig. 21 är en tabell som illustrerar uppdaterade Y-koordinatvär- den, vilka beräknats i enlighet med tabellen i fig.19,, 5 7800499-1 fig. 22 är en jämförande uppteckning som visar den kontur, vil- ken framställts med ledning av värdena i tabellen i fig{ 21 och av den båge, som därvid approximeras, fig. 23 visar ett förenklat utförande av ett läsminne, som används för att åstadkomma funktionen M, vilken uppdaterar i enlig- het med tabellen i fig. 19, fig. 24 är en tabell för bitmönstret i läsminnet enligt fig. 23, fig. 25 är en tabell som illustrerar alstring av ski1lnadskrök~ ningen med hjälp av endast ett läsminne av det slag som visas i fig. 23 och 24 och som programmerats för en basradie rc = 32 för k = 6, fig. 26 är ett förenklat blockschema visande ett mekaniserat utförande av M-uppdateringsfunktionen enligt fig. 19-25, fig. 27 är ett grundläggande blockschema av en utföringsform av en teckengenerator i enlighet med föreliggande uppfinning, fig. 28 är ett detaljerat blockschema över beräknings- och minnesenheten visad i blockschemat i fig. 27, fig. 29 är ett detaljerat blockschema för den i fig. 28 visade Y-enheten, fig. 29A är ett flödesdiagram visande Y-beräkningsfunktionen för Y~enheten i fig. 29, fig. 298 åskådliggör kurvgenerering i förhållande till inkremen~ talt uppdaterade M-och Y-värden, fig. 30 är ett detaljerat blockschema för Y-enheten enligt fig. 28, fig. 30A är ett flödesdiagram för funktionerna i den i fig. 30 visade Y-enheten, fig. 31 är ett detaljerat blockschema över K-enheten i fig. 28, fig. 31A är en tabell med värden för K-avkodningslogiken enligt fig. 31, fig. 31B är en tabell med värden som är lagrade i SN PROM i fig. 31, fig. 310 är en sanningstabell för MK-avkodningslogikblocket i fig. 31. fig. 32 är ett detaljerat blockschema för S-enheten i fig. 28. fig. 33 är ett detaljerat blockschema för skalnings-, streck- nings- och videokontrollenheten i fig. 29, fig. 34 är ett detaljerat blockschema över horisontalskalnings- enheten i horisontalskalningsenheten i fig. 33, fig. 35 är ett detaljerat blockschema över den i fig. 27 visade centrala behandlingsenheten, 7800499-1- 6 fig. 36 är ett detaljerat blockschema över proeesstillståndsen- heten enligt fig. 35, i fig. 37 är ett flödesdiagram visande systemets sekvens av till- stånd, och fig. 38 är ett detaljerat blockschema för den i fig. 35 visade kontursekvensenheten.
Allmän diskussion Varje tecken som kan presenteras är vanligen ett tecken bland ett flertal tecken i en uppsättning, som vanligen betecknas en stil eller stilsats. Det är tydligt att varje sådan stilsats måste kunna presenteras med vilken godtycklig stilhöjd som helst. Inom det typo- grafiska omrâdet räknas teckenstorleken i punkter varvid man såsom typografisk enhet väljer att en punkt är ungefär 1/72 av en tum.
Således definieras en Qzpunktstyp inom en kvadrat om 9 x 1/72 tum = 1/8 tum. På motsvarande sätt är en 72:punktstyp en kvadrat med sidan 1 tum.
Enligt föreliggande uppfinning kodas varje tecken som skall lagras i enlighet med en normaliserad kvadrat, som är gemensam för samtliga tecken i alla stilsatser. Denna kvadrat har godtyckligt tillordnats ett koordinatsystem med 1.024 koordinat- eller bitposi- tioner i X-riktningen och 1.024 koordinat- eller bitpositioner i Y-riktningen.
Föreliggande uppfinning kräver ett minimum av minnesutrymme för kodade teckendata. Närmare bestämt kodas varje tecken med avseende pä vissa parametrar, som hänför sig till konturerna för varje parti av tecknet i förhållande till den normaliserade kvadraten. Konturerna relateras i par och är i huvudsak gränserna för de fyllda areorna, eller segmenten, av varje tecken. Ehuru en normaliserad kvadrat sägs bilda basen för kodning av tecknen är föreliggande system i sig inte begränsat till en på förhand bestämd kvadratform i den meningen som används inom typografin när det gäller typiska kvadrater. Enligt före- liggande uppfinning kan tvärtom kvadratens horisontella dimension eller bredd variera i enlighet med bredden av ett tecken.
De kodade och lagrade parametrarna för varje tecken innefattar Y-koordinaterna för begynnelse- eller startpunkten för varje kontur och lutningarna samt krökningsradierna för dessa konturer. I förhâllanü till kvadraten betraktas varje bitposition i den X-koordinat av kva- draten som innefattar tecknet såsom ett enhetsavstând, och en beräkninf _ utföres med avseende på de lagrade parametrarna för varje sådan succes- siv X-bitposition i den tecknet omgivande kvadraten, dvs. varje be- 7 7800499-1 räkningscykel, i och för beräkning av Y-koordinaterna vid ifrågava- rande bitposition för varje kontur.
Varje tecken presenteras på ett katodstrålerör med en skärm, som har stor upplösningsförmåga både vad gäller kvalitén av den luminiscenta skärmen och vad galler känsligheten i styrningen av den nvsöknndo clcktronstrñlcn. Nar den avsökande elektronstrålen förflyttas utmed ett vertikalt streck bringar de beräknade Y-koordi- naterna för de suceessiva konturerna av varje par strålen att omväx- lande tändas och släckas för att så att säga "fylla i" ifrågavarande vertikala parti av teckensegmentet mellan konturparet. Teckengene- ratorn enligt föreliggande uppfinning kan anpassas till vilken önskad avsökningsdensitet som helst för katodstråleröret. Exempelvis kan katodstråleröret uppvisa en total presenterad linjelängd om 11 tum.
Man fastställer ett fast inkrement med vilket de vertikala avsöknin- garna successivt förflyttas över den på förhand bestämda största linje- bredden och detta inkrement kan t.ex. väljas så att den till 11 tum uppgående linjelängden indelas i 214 positioner eller bitpositioner, vilket således totalt ger 16.384 bitpositioner, dvs. 1.488 bitar per tum. Vanligen är avsökningsdensiteten eller upplösningen inställbar och kan väljas vara 1/1488 tum, vilket är den största tätheten, eller 1/744 tum (dvs. i det förra fallet ett streck eller en avsökning för varje bitposition och i det andra fallet ett streck eller en avsökning för varannan bitposition). I de katodstrålerör av den höga kvalitét tillsammans med vilka föreliggande teckengenerator avses användas är punktstorleken För avsökningsstrålen mycket noggrant reglerad. I före- liggande exempel kan en punktstorlek för avsökningsstrålen väljas vara 0,0015 tum. Under dessa betingelser kan man erhålla en överlappning mellan intilliggande streck uppgående till en avsökningsdensitet, dvs. en streckförflyttning på 1/744 tum.
Ett väsentligt kännetecken för föreliggande uppfinning är att bitpositionerna eller indelningarna av kvadraten är oberoende av av- sökningsrastret och detta gäller även för kodningen av tecknen ehuru det är tydligt att kodningcn resp. indelningarna måste vara korrelerad med varandra för att man skall erhålla prcsentationsfunktionen. När- mare bcstämt kodas tecknen för en maximal punktstorlek av presenta- tionen inuti den normaliserade kvadraten. Horisontal- och vertikal- skalningsfaktorer introduceras därefter för transformering av beräk- nade koordinatdata för styrning av avsökningssträlen i enlighet med den önskade punktstorleken för presentationen. Således är en enda upp- 7800499-1 8 sättning kodade teckendata för vilken bestämd stilsats som helst till- räcklig för presentation av samtliga tecken i denna stilsats med vil- ken önskad punktstorlek som helst inom det tillgängliga området av punktstorlekar.
Enlninidator mottager ingångsdata som anger den stilsats och den storlek som skall presenteras samt även speciella för presenta- tion avsedda. data. Vidare sörjer minidatorn för att avsöknings- strâlen placeras på lämplig linje och att önskade teckenavstånd vid- makthäii es . ' Antalet förskjutna linjer av på katodstråleröret presenterade tecken kan även väljas med hänsyn till den aktuellt presenterade stilsatsens storlek och under styrning frândatorn.
Enligt en applikation av uppfinningen används katodstrålerörs- presentationen för att exponera ett fotokänsligt medium, som därefter i små steg förflyttas förbi katodstrålerörets presentation av varje linje av tecken. Möjligheten att presentera ett flertal linjer av tecken innan framflyttning sker av det medium, som mottager den foto- känsliga bilden, till ett läge där det sedan kan mottaga ett flertal presenterade linjer av tecken medger mycket snabb funktion. I detta sammanhang bör observeras att avböjningen av avsökningsstrâlen genom successiva vertikalt förskjutna teckenpresentationslinjer är betydligt snabbare och betydligt enklare att utföra än att i små steg framflytta mediet för varje presentationslinje.
Således kodas varje tecken i varje stilsats i förhållande till en normaliserad kvadrat och de data som krävs för att rekonstruera ett tecken innefattar begynnelsekoordinaterna för tecknet inuti kva- draten, dvs. startläget för teeknets konturer, och varierandepara- metrar såsom exempelvis riktning och krökningar av linjer och kurvor ingående i tecknets kontur.
Alstring av en teckenkontur fortskrider samtidigt med presenta- tion av tecknet i enlighet med de beräkningar, som utförts i tidsföljd med streckningsintervallerna för katodstrülerörets'presentationsstråle.
Såsom emellertid redan omnümnts förekommer det inte nödvändigtvis något ett-till-ett-förhållande mellan bcräkningsintervallerna och streckdragningsintervallerna. Ehuru samma antal beräkningar för defini- ering av teckenkonturen utföres oberoende av den punktstorlek med vil- ken man önskar avbilda tecknet alstras Y-koordinaterna, vilka utnytt- jas för styrning av tändningen av avsökningsstrâlen, i förhållande -till horisontalskalningsfaktorer, vilka relaterar antalet beräknings- 9 7800499-1 cykler till den önskade punktstorleken och till streckdragningstät- heten för katodstrålerörets stråle.
Skalninq: Beräkningar samt faktisk presentation.
Såsom exempel antages att det gäller ett system med presenta- tion av den största punktstorleken, nämligen 72 punkter. Antag dessutm att samtliga tecken är kodade för denna storlek och att man utnytt- jar en normaliserad kvadrat på 210 bitar (1,024 bitar). Skalfaktorerne beräknas på föjande sätt: Horisontaiskaifaiazor (ass) = Lpšâktstorlekl x [Stršgiêäthet] (1) Vertikalskalfaktor (VSF) = Lšåñíïšïšëïšïí x íkamphastighsä (2) (Det är tydligt att brâkvärden kan erhållas om dessa beräkningar ut- förs. Dessa brâkvärden kan uttryckas såsom motsvarande binära tal vilket även sker och dessa tal bearbetas av systemet)._ Det faktiska antalet streck per tecken är relaterat till antalel beräkningscykler genom följande uttryck: streck per tecken = 1+ (Totala antaäê; räkningscykler) -1 (3) Antalet streck är ett heltal och detta heltal erhålles genom att man slopar bråkdelen av resultaten.
Ovanstående ekvationer kan àskâdliggöras närmare med hänvis- ning till fig. 1, som illustrerar presentationen av en serif utförd i 72 punkter visad i avsevärt förstorad skala (jfr. fig. 3A). Denna presentation har erhållits genom att svepa en elektronstràle med en streckdensitet (strecktäthet) på 1.024 streck per tum. Lägg märke till att fig. 1 har en strecktäthet som uppgår till lika många streck per tum som antalet bitpositioner i den normaliserade kvadraten.
Eftersom det gäller den största 72:punktstor1eken är beräkningen av konturerna relaterad på en ett-till~ett-basis till den ursprung- lira kodninfien av tecknet. Ur ckvationerna (1) och (2) ovan erhålles HSF = VSF = 1. Ur ekvation (3) följer även att antalet streck per tecken är lika med antalet beräkninfiscyklcr.
I fig. 1 är begynnelsekoordinaterna X = 200 och Y = 750 för den undre konturen samt X = 200; Y = 800 för den övre konturen. Med ledning av denna begynnelseinformation kan elektronstrålen omedel- bart starta att avsöka den första linjen vid läget X = 200 varvid strdlen till en början är släckt och därefter tänds vid Y = 750 för att sedan släckas vid Y = 800. Det vertikala läget för strålen under '.-_ ” PÖQR QUAtm 7soo499-1 1” streckdragningen bestämmes av räknepulser från en klocka med frekvense 8MHz. För en bestämd ramphastighet kommer klockan således att identi- fiera det aktuella läget för strålen med ledning av ekvation (2).
Under ett bestämt streck beräknar systemet teckenkonturlägena för det närmast efterföljande strecket. Eftersom i fig. 1 HSF = 1 ut- föres en beräkning för varje successiv horisontell bitposition och likaså görs ett streck för varje bitpcsition. Såsom kommer att beskri- vas närmare nedan kommer kodning av det i fig. 1 visade tecknet att identifiera serifen såsom om den inte uppvisade några ändringar iude övre och undre konturerna från och med beräkníngseykel nr 200 fram till och med beräkningscykel 250. Således sker samma upprepade tändnin: och släckning av strålen under 50 beräkningscykler. Under cykeln 250 inträffar emellertid en ändring i den undre konturen och denna ändring innebär en nedåt svängning som fortskrider på mer eller mindre konti- nuerligt sätt fram till och med beräkningscykel 300. Som framgår ur fig. 1 approximeras kurvan av en följd inkrementala steg och således minskar Y-koordinaten för den undre konturen under successiva steg och under ett på förhand bestämt antal beräkningscykler utmed X-axeln.
Exempelvis inträffar en första ändring i den undre Y-koordinaten under beräkningscyklerna 256 till och med beräkningscykel 260 (5 cykler) och en annan ändring inträffar under beräkningscykel 261 fram till och med beräkningscykel 264 (4 cykler) etc.
I fig. 2 visas en mer typisk situation i vilken strecktätheten inte svarar mot bitpositionerna på en ett-till-ett basis för den normaliserade kvadraten. I stället utnyttjas en strecktäthet på 744 punkter per tum. Dessutom visas en llzpunkts serif som således är 1/18 av storleken för 72:punkts serifen i fig. 1. Ur ekvation (2) erhålles VSF = 18 såsom visas i fig. 2. Den i fig. 2 visade serifen är av samma storlek som den i fig. 1 visade eftersom den är kodad på basis av den normaliserade kvadraten. Medan fig. 1 emellertid visar serifen 62,5 gånger större än den faktiska presentationsstorleken av en 72:punkts typ har i fig. 2 inlagts den faktiska presentationsstor- leken för en 4:punkts serif. En uppfattning om skalskillnaden erhålles även om man jämför diametern för elektronstrâlen, som i fig. 1 visas vara 15/10.000 tum och som i fig. 2 återges för en 4:punkts serif.
Strålens läge under varje vertikalt streck identifieras fort- fßfflfide av klockan med frekvensen & MHz men i stället för att varje klockpuls räknas såsom 1,såsom i fallet i fig. 1,medför varje klock- puls att räknarens räkneinnehåll ökar med 18. Ramphastigheten för av- sökningsstrâlen kan således förbli konstant. 11 7800499-1 Ur ekvation (1) erhålles MSF = 24.774, vilket även visas i fig. 2. Detta betyder att ett vertikalt streck görs efter var 24.774:e beräkningscykel. För att åstadkomma dessa måste ett heltal eller ett heltaligt antal beräkningscykler vara relaterat (relaterade) till ett enda streck och således erfordras särskilda kretsar, vilka kommer att beskrivas närmare nedan, för att variera det heltaliga antalet beräkníngscykler för succesiva streck. I det aktuella fallet kan dessa kretsar åstadkomma ett medelvärde för HSF uppgående 24.774.
Ur fig. 2 framgår det att 5 streck, vilka numrerats från I _ 10 till 14 utföres av strålen för att serifpartiet av det visade teck- net skall presenteras. Fig. 2 visar även med streckade linjer de spår som elektronstràlen följer, varvid de grova svarta linjerna i fig. 2 visar den beräkningscykel, vid vilken de aktuella strecken utföres.
Det är tydligt att upplösningen av tecknet har minskat avsevärt men icke desto mindre är upplösningen tillräcklig för att tecknet skall presenteras med mycket hög grafisk kvalitet i denna reducerade stor- lek. Det inses även att när ett streck väl börjar fortsätter syste- met att beräkna teckenkonturerna och således även tändnings- och släck- ningspartiorna för avsökningsstrâlen för nästföljande streck och att således multibla beräkningscykler erfordras. 1 detta avsnitt skal] den grundläggande tekniken för tecken- alstring behandlas. I fig. 3A visas versalen "J" med tillhörande tabell i fig. 3, som består av instruktioner för alstring av detta tecken. Samma versal "J" visas i fig. 3C för att belysa konturerna av detta tecken. Såsom jämförelse innefattar fig. 3A ett inlagt om- råde svarande mot seriferna i fig. 1 och 2. Tecknet upptar 500 beräk- ningscykler och dess begynnelsekoordinater X; Y är (0,400). Som fram- går ur fig. 3A skall tecknet fullständigt fyllas ut av elektron- strålestrecken och i fig. 3C visas de konturpar som begränsar dessa utfyllda områden. Vid början av tecknet (X = 0) definieras ett första konturpar 1 och 2 och vid beräkningscykel nr 200 initieras ett nytt konturpar 3 och 4. Som framgår ur fig. 3C mäts vinkeln 9, vilken ligger mellan i 87,20, i förhållande till en horisontell linje. Den linje som definierar vinkeln är tangent till den svängda gräns- linjen eller konturen för tecknet. Detta kommer att beskrivas närma- re nedan.
Varje tecken har med nödvändighet vid dess startpunkt åtminsto- ne ett konturpar, som för den visade "J" är konturerna 1 och 2 vilka har den gemensamma Y-koordinaten 400. Kännedom om konturens 1 lutning är en förutsättning för den första beräkningscykeln. Instruktionen "början av konturpar" vilken kommer att förkortas BOLP nedan, måste _ QUÄLLTÅ 7800499-1- 12 således ha dessa uppgifter. Detta âstadkommes i den sista spalten i fig. 3B genom tecknet 0 "beräkningscykler till nästa instruktion". Vid startpunkten har konturen 1 en vertikalt nedåt för- löpande riktning. Detta kodas såsom en ändringslutningsinstruktion CM för Q = -87,20. Även 0-beräkningscykeln kodas. Vid startpunkten kodas konturen 1 så att den har en krökningsändringsinstruktion (CK) med krökningsvärdet +1/200. CK-instruktionen finns kodad under 100 beräkningscykler till nästföljande instruktion. Streckdragning och beräkning fortskrider nu med lämpliga horisontalskalningsfaktorer fram till beräkningscykeln nr 100.
Därefter införs en CM-instruktion för ändring av lutningen och en CK-instruktion för ändring av krökningen beträffande konturen nr 2 och denna instruktion får gälla under de nästföljande 100 beräknings- cyklerna. Ingen ändringsinstruktion för konturen 1 kodas och således kommer konturerna 1 och 2 att vara definierade såsom varande krökta till dess beräkningscykeln 200 uppnås. Vid beräkningscykeln 200 startaf konturparet 3, 4 i enlighet med den ytterligare BOLP-instruktionen som kodats med avseende på Y-koordinatvärdena 750 och 800. Vid beräk- ningscykeln 250 förekommer en krökningsändringsinstruktíon CK för kontur 3 och denna kodas vara K = 1/50, vilken får gälla under 50 beräkningscykler. Lägg märke till att begynnelsepartierna för kontu- rerna 2 och 3 och 4 är horisontella och att hela konturen 4 är hori- sontell varför någon CM-instruktion inte erfordras för att markera begynnelselutningarna för dessa konturer. Lägg även märke till att CM-instruktionen erfordras före CK-instruktionen för kontur nr 3 efter som någon ändring i tangenten inte förekommer vid den punkt där kur- van börjar. _ Det bör även observeras att konturerna 2 och 3 upphör att exi- stera vid beräkningscykeln nr 300 och att detta fastställs medelst instruktionen"slut av konturparg vilken nedan kommer att betecknas EOLP. EOLP-instruktionen kodas gälla under 100 beräkningscykler. Så- som kommer att beskrivas närmare nedan kommer det konturpar, som fort- sätter att definiera återstoden av tecknet, nu att innefatta konturern 1 och 4. Således är strdlen kontinuerligt tänd mellan konturerna 1 och 4 och konturen 4 kvarstår såsom en rak linje medan kontur 1 följer krökningen enligt dess tidigare CK-instruktion.
Vid beräkningscykeln nr 400 sker en ytterligare definiering av kontur 1 medelst en särskild form av BOLP-instruktion, som bringar konturen att ånyo starta vid beräkningscykel nr 400 från ett värde på Y på omkring Y = 400 direkt till värdet Y = 700. Denna speciella 13 7800499-1 BOLP-instruktion kommer att beskrivas närmare och används i allmänhet för att anpassa Y-positionsdiskontinuiteter i teckenkonturen vid någon mellanliggande X-position. Konturen 1 kodas även i en CM-instruk~ tion för G = +87,2° och beräkningscykel nr O samt även i en CK-instruk- tion för en krökning på K = 1/50, varvid denna CK-instruktion kodas att gälla under 50 beräknnigscykler. Vid beräkningscykeln 50 kodar CM-instruktionen en ändring i lutningen till Q = Oo under 50 beräk- ningscykler och konturen 1 fortsätter således såsom en horisontell linje under nästföljande 50 beräkningscykler. Slutligen används en instruktion "teckenslut", vilken nedan kommer att benämnas EC-instruk- tion, för att identifiera slut på teckenkodning och således även slut på beräkningar för alstring av teckenpresentationsstyrning.
Fig. 4 visar instruktionsformatet i ett existerande system.
Instruktionerna är baserade på ett av 16 bitar bestående ord, varvid BOLP och CDY vardera innefattar 2 ord. De i fig. visade sju instruk- tionerna är de instruktioner som totalt erfordras för att alstra vil- ket tecken som helst. Med undantag för instruktionerna NOP och EC identifierar varje instruktion icke endast den operation som skall ut- föras eller den narameter som skall kontrolleras utan även den speci- fika kontur till vilken instruktionen hör samt antalet beräkningscyk- ler till nästföljande instruktion. En operationskod från 1 till 5 bit- positioner identifierar den specifika instruktionen och varje instruk~ tion, med undantag för BOLP~instruktioncn, innefattar ett antal bitar för kodning av beräkningscyklerna. I instruktionerna CDY, CM, CK ooh EOLP utnyttjas för detta ändamål 4 bitar medan för samma ändamål 8 biter utnyttjas i instruktionen NOP. Medan således 4 bitar medger kod- ning av från O - 15 beräkningscykler till nästföljande instruktion medger instruktionen NOP kodninn av från O - 255 beräkningscykler.
Instruktionen NOP kan därför användas när ett större parti av ett tecken skall alstras utan att någon konturinformation erfordras.
De tva orden i BOLP-instruktionen hänför sig i tur och ordning till de övre resp. undre konturerna i ett givet par och indexbeteck- ningarna S resp. L syftar till de mindre (small) resp. större (large) Y-koordinatvürdenn. Y-värdet kodas i 9 bitar från bit 8 till och med bit 16 även om för beräkningssyften Y innefattar ett tal om 16 bitar.
De 10 mest signifikanta bitarna identifierar heltalsvärdet av Y från 1 till och med 1.024 och de mindre signifikanta 6 bitarna är brâkdels- bitar, som erfordras för approximering av bråk eller icke-heltaliga partier av lutningsvärden. Styrning av strülens läge begränsas emeller tid under BOLP-instruktionen lämpligen till ett 9~bitigt värde och took enl-es' 7800499-1 ”f medger fastställning av ett begynnelse-Y-värde bland något av de 512 jämnt numrerade värdena i de 1.024 bitpositionerna för Y-koordi- nataxeln. BOLP har även 4 bitar J1 - J4 i varje ord, vilka identi- fierar den ifrågavarande konturen till vilken instruktionen hänför sig. Detta medger maximalt 16 konturer och således 8 konturpar utmed ett godtyckligt vertikalt parti av ett tecken. Det bör observeras att övriga instruktioner även är kodade med bitarna J1 - J4 för identi fiering av den kontur, som skall utsättas för modifiering med ifråga- varande instruktion. 7 Instruktionen CDY utnyttjas för att definiera en kontur, som är en rak lutande linje. Tidigare har omnämnts att kurvor och lutnin- gar erhålles genom inkrementala ändringar i Y-koordinatvärdena. Dessa inkrementala ändringar kodas i CDY-instruktionen i 14 bitar betecknade ^Y1“ ”N14 4 Y-värden definieras såsom 1-komplementet. Detta medger en uppsätt- plus en teckenbit som är så beskaffad att negativa ning lutningar för raka linjer i en teckenkontur från +255 63/64 - _2565 63/64 med enuppiösning, som uppgzïr till 1/64. Anoranandet av denna CDY-instruktion är en kompromiss med hänsyn till utnyttjandet av minnets kapacitet för lutningsändringar och krökningar. Detta kommer att beskrivas närmare nedan. Allmänt sett skulle alstring av en rak lutande linje, om denna alstring utfördes genom beräkningen, som baserade sig på en lutningsändringsinstruktion (CM), erfordra otillàtet stort minnesutrymme för lagring av lutningsinformation i och för alstring av en noggrann rak linje av den kvalitét, som tryck- tekniken erfordrar. Omvänt skulle, om endast ett rimligt antal lut- ningsändringar kodades, alstring av en lång rak linje CM-instruktio- nerna (exempelvis såsom i bokstäverna "M" eller "V") ge upphov till en ojämn stegliknande form och således inte kunna accepteras i kvali- tetshänseende.
Lutningsändringsinstruktionen (CM) innefattar således 6 bitar med lutníngsinformation (vilket medger lagring av 26 = 64 olika lut- ningar, vilket är ett rimligt antal). Krökningsändringsinstruktionen (CK) innefattar 7 bitar med krökningsinformation, varvid biten K? är en teckenbit. Således erhålles ¿26 = :G4 olika kräkningar. Var och en av instruktionerna CM och CK är även kodad med numret på konturen, nämligen bitarna J1 ~ J4. _ Instruktionen "slut av linjepar" (EOLD) erfordrar kodning för identifiering av numret på konturen med den mindre Y-koordinaten.
Uttrycket "par" finns i EOLP-instruktionen eftersom konturer alltid börjar och slutar i par. Instruktionen "teckenslut" (EC) kodas och 15 7800499-1 identifieras av systemet såsom varande slutet av det alstrade tecknet.
Exempel på beräkningar För att underlätta förståelsen av föreliggande uppfinning beskrives nedan ett exempel där man utnyttjar en avsevärt reducerad mängd data och parametrar, vilket medför att det är lättare att för- stå innebörden av de utförda beräkningarna. I fig. 5 visas en kvadrat bestående av 64 enheter i vardera X- och Y-koordinatriktningen. I enlighet med de ovan betydligt mer komplicerade illustrationerna fast- ställes en baslinje inuti kvadraten och denna baslinje befinner sig på Y = 21. Detta sörjer för ett sådana bokstäver såsom exempelvis "Q" eller små bokstäver av typen p, q, y, etc., vilka har partier som går nedanför baslinjen, kan rymmas inuti kvadraten. X-koordinater- na kan definieras såsom 6-bitiga binöra tal, medan Y-koordinaterna kan definieras såsom 12-bitiga binära tal. Således kan en punkt inuti kvaaraten definieras av X = 6, Y = 7 33/64 (observera att 2 bitar definierar heltalsvärdet av Y och att 26 bitar identifierar brâkdelen uttryckt i 64:edelar). Medan Y-koordinaterna kan upplöses med denna noggrannhet är de koordinater, som styr tändningen och släckningen av avsökningsstrålen endast 6-bitiga tel, som således endast definie- rar heltalsvärden för Y-koordinater. Nödvändigheten av bråkdelar i Y-värdena härrör ur kodningen och beräkningen av lutningar och kurvor såsom kommer att beskrivas närmare nedan.
Lutninfiar I I fig. 6 visas en uppsättning "kodningsbara" lutningar. Figuren visar ett antal strålar för lutningar från M = O till M = 7 och invid denna figur finns en liten figur som visar hur vinkeln G är relaterad till X-koordinaten. Det är således tydligt att AY_ ÛX-“ßsê (4) Eftersom dessutom X-tillskotten A.X (vilka även benämnes inkrement) svarar mot successiva beräkningscykler eller bitpositioner och.. per definition kan ha ett enhetsvärde kan man sätta detta ZÄX = 1.
Således är AY = nga (5) Ovan har beskrivits att lutningar och krökningar erhålles genom inkremental ändring av Y-koordinaten för successiva streck. Des- sa ändringar är således värdena A.Y. Man inser nu hur dessa ändringar är relaterade till en lutningsfunktion M, som i sin tur är relaterad till vinkeln 9. Det inses även att man för att uppnå en önskad lut- ning av ett tockons kontur måste ändra ¿lY i enlighet med ekvation (5“ r _ peppooa Qvfflßffïl 4 7800499-1 '6 Lutningarna M = O till M = 7 omvandlas till 3-bitiga binära tal såsom visas i tabellen i fig. 7, som dessutom visar vinkelvärdena för Q, värdena för tgê och de beräknade värdena på ¿&Y(M).
Fig. 8 är en enkel geometrisk form som används för att illu- strera "uppdaterings"-operationen för Y såsom funktion av lutnings- värdena M. Fig. 9 är en förenklad lista med kodade instruktioner svarande mot alstringen av den i fig. 8 visade formen. Instruktionen BOLP ger begynnelsekoordinatinformationen Yo = 2 och Y1 = 24 för konturparet O och 1 enligt fig. 8. X-koordinaten har godtyckligt~valts vara X = 4. GO = 22,50 för kontur O och G1 = -450 för kontur 1 vilka enligt fig. 6 och 7 lämpligen svarar mot M1 1 och MO = 5. Dessa värden kodas såsom parameterinformation i motsvarande CM-instruktio- ner. Systemet fortsätter därefter med beräkning avyA Y-värdena dvs.
Y-uppdateringsfunktionen samt alstrar de visade lutande konturerna O och 1 till dess instruktionen EC markerar att tecknet är slut.
I fig. 9 svarar tabellspelten [SX mot antalet beräkningscykler i fig. 4 och för CM-instruktionen för kontur 1 är värdet 14. Tecknet i fig. 8 sträcker sig från x = 4 till x = 18 avs. A X arom.
Det erfordras således 14 vertikala avsökningar (under förut- sättning att 1 avsökning svarar mot 1 beräkningscykel) för att pre- sentera tecknet i fig. 8. Vidare erfordras 13 st. "Y-uppdateringar" av konturerna O och 1. Nedanstående ekvationer beskriver uppdateringe- processen. Enligt definition är.A X = 1 för varje uppdatering och j = konturnumret: AX = Yj(X) +AX j Yj (X +AX) (6) tja: + 1) = Y¿(X) + Amwq.) (7) Dessutom är AY (1113) = ÛY (M3) tg oj (8) AX Eftersom GO = 22,50 och 91 = _450 är således: 27 - AY (rio) = w; G0 = n; <22,s°> 2 61 <9) A Y (m1). = ng 421 = tg (-45°) - -1 (10) Ur det allmänna uttrycket i ekvation (6) kan man därefter skriva de specifika uppdateringsfunktionerna för konturerna O och 1 på följande sätt: 27 YO (X + 1) = YO (X) + Éï (11) Y1 (X + 1) = Y1 (X) - 1 (12) w' _ a-*šf zgía, få är 1,, 7800499-1 Tabellen i fig. (10) visar de beräknade koordinatvärdena för YO(x) och Y1(x) för de successiva värdena på X. Ur den motsvarande elektronstråleoresentationen visad i fig. 11 och med hänsyn till att endast heltalsvärden för Y används för styrning av tändningen av avsökningsstrålen ser man att konturen O ändrar sig stegvis i succes- siva grupper om olika Y-koordinatvärden. Ur fig. 10 däremot framgår att bråkdelarna av Y-värdena ackumuleras och eventuellt påverkar heltalsvärdet av YO(x). Orsaken till att brâkdelsvärdena av YO(x) igno- reras kan exempelvis vara att en 6-bits digital/analogomvandlare an- vänds för att åstadkomma den med svepet för avsökningsstråeln koordi- nerade tändningsfunktionen.
Beräkning av ekvation (5) sker lämpligen med hjälp av ett läs- minne (Read Only Memory) som för det visade systemet har en kapacitet på 32 bitar med bitmönstret "programmerat" så att det erbjuder 4 styc- ken 8-bitiga ord på det sätt som visas i fig. 12. Fig. 12 svarar mot binärkodade värden där N1 är heltalsdelen av Å Y och N2 är värdet på täljaren i 64:edelspartiet av A Y, vilket kan skrivas på följande NO ÛY (m) = N1+~6í sätt: Observera att ingångarna till läsminnet i fig. 12 är M1+ och M2+, vilket svarar mot internt avkodade värden för M-ingången till läs- minnet i enlighet med följande ekvationer för "exklusivt eller" uttryckta i Boolsk algebra: m2* = MZGJEB (14) 1111* = r.11@m3 (15) Läsminnets bitmönster för de olika värdena på M+ i binär notation visas i tabellen i fig. 13A och motsvarande värden uttryckta i basen 10 visas i fig. 13B.
Ur det ovanstående inses att läsminnet adresserats med endast tvâ bitar och att detta är möjligt med hänsyn till ekvationerna (14) och (15) genom att minnet är känsligt för den tredje biten M3 för att därvid styra tecknet av A Y och närmare bestämt Ar (m)>o om m3 1 (16) A Y (m)7o om m3 o (17) Ur det ovanstående inses att värdet av Y därefter uppdateras genom addition eller subtraktion av A Y-värdet (subtraktion utföres genom komplomenterjny till 1:. Samtliga uttryck för M-adresseringsfunktionen ll ll Pooa oUALnY 7800499-1 as visas i sanningstabellen i fig. 130.
Hur Y-uppdateringen kan mekaniseras visas i förenklad form i fig. 14. Ett 12-bitsvärde, som härletts antingen initialt från en datakälla (exempelvis en BOLP-instruktion) eller innefattar ett löpand beräknat Y-värde, vilket kommer att beskrivas närmare nedan, matas in till en 12-bits adderare 10. Det 3-bits ord som definierar ett M-lutningsvärde, vilket erhållits ur en CM-instruktion, matas genom lämpliga grindar 12a och 12b tillzl-Y-läsminnet 13 för adressering av detta på det sätt som föreslås enligt fig. 12 och 13A. Därifrån går det lagrade ¿ÄY4värdet till en grind 14 som komplementerar till 1 (och som även är känsligiör värdet fi3). Grinden 14 matar därvid ¿§Y-värdet till 12-bits adderaren 10 antingen för addition eller sub- traktion (genom funktionen med komplementet till 1) till det samtidigt införda Y-värdet. Den resulterande summan Y + ¿!Y matas till en 12-bits lâskrets 15, som i sin tur lagrar det resulterande värdet Y +¿1Y i det för Y-koordinater avsedda RAM-minnet såsom det nya Y- koordinatvärdet, vilket skall användas under nästföljande avsökning.
Detta nya värde på Y kan matas till ett annat Y-koordinatminne RAM för styrning av avsökningsstrålen. Det löpande Y-koordinatvärdet matas även tillbaka till 12-bits adderaren 10 för användning under näst- e följande Y-uppdateringsoperation.
Krökningar Närmast skall kodning av krökningar beröras. I fig. 15 visas ett system med 4 krökningsradier i vart och ett av två krökningspolarf teter. Dessa radier betecknas K = 0 upp till K = 7. Ett 3-bits binärt tal kan koda dessa krökningar, nämligen en radie bland 4 radier (för vilket åtgår 2)bitar och en av två polariteter -(för vilket åtgår en bitt Således definierar k1 och k2 en önskad krökningsradie re och den tredje biten k3 definierar tecknet för krökningen. Med en basradie rc'= 32 relaterar den i fig. 16 visade tabellen krökningen k till dess binüra uttryck och det önskade värdet på ro.
I fig. 17 visas hur det ovanstående utnyttjas för alstring av kurvor. De radiella linjerna M ; O upptill M = ¶~svarar mot de i fig. 6 visade och markerar riktningarna för lutningarna, vilka kan approxi- mernn genom succcssivn Y-uppdateringar, där M å konstant. Medan en rek lutande linje alstras med ett konstant M erfordras varierande vär- den på M om konturens krökning varierar. I fig. 17 är den genererade figuren en 16-sidig polygon vars lutningsvariationer inträffar vid vart och ett av X-positionerna X0 - X7. Således uppdateras M-värdet enligt föreliggande system så att en approximativ kurva erhålles, dvs. »t 19 7800499-1 cirkeln i fig. 17. Fig. 17 visar även att ökande M, dvs. (M-*M + 1), medför positiva krökningar medan minskande M, dvs.(M->M - 1) medför negativa krökningar.
Om krökningsparametrarna k skulle representera antalet Y-upp- dateringar för varje M-uppdatering skulle man erhålla en kurva men denna skulle inte approximera en cirkelbåge. Om exempelvis k = 4 och (M~vM +1) för var fjärde uppdatering av Y, (dvs. Y~>Y +¿LY), skulle man erhålla en följd raka linjesegment av det slag som visas i fig. 18. vilket emellertid inte är någon approximering av den med streckade linjer visade cirkelbågen.
För att medge bättre anpassning av polygoner till en önskad cirkulär båge introduceras enligt föreliggande system en ny parameter S, som för en bestämd krökning K är en funktion av M och medger upp- datering av M efter ett varierbart antal Y-uppdateringar. Detta visas i tabellen i fig. 19 i vilken SN = antalet Y-uppdateringar som skall göras för ett givet M innan M uppdateras S = antalet Y~uppdateringar efter den sista M-uppdateringen, och K = 6 (svarande mot ro = 32).
Tabellen i fig. 19 definieras i enlighet med anpassning av raka rc = 32 enligt fis. 20.
För de visade koordinaterna och för den här beskrivna något förenklade linjesegment till den církulära hågen presentationen är till en början Y = O, M = 4 och sekvensen enligt tabellen i fig. 19 blir: Y~9Y + O (6 gånger, med M = 4 därefter M-+ 5) Y-»Y + 27/64 (12 gånger, med m = 5 därefter M ->6) Y->Y + 1 ( 9 gånger, med M = 6, därefter M ~>7) Y-IY = 2 27/64 ( 5 gånger) Dessa uppdateringsfunktioner visas fullständigt i tabellen i fig. 21 och de i tabellen angivna beräknade värdena skulle medföra att det alstrndes successiva varierade inkrementalt sig ändrande Y-koordinater, vilka approximcrar den önskade kurvan med radien rc = _2 såsom visas i fig. 22.
Hur denna beräkning åstadkommas när M skall ökas eller minskas i en M~uppdnteringsoneration programmeras i ett 64-bits läsminne visat i fin. Pl (6 binära ingångar svarar mot 26 = 64). Från minnet finns en enda utgång J” . Detta läsminnc skulle ligga parallellt med 6 Y-dntvrinqnlfisminnvt i fig. 12. Med hänsyn till det motsvarande i fig. rosa QUALITY 7800499-1 20 24 visade bitmönstret för läsminnet är¿/1: 1 när S = SN vid vilket tillfälle S återställes till OOO1 och S därefter ökas inkrementalt med OOO1 så länge som är = O.
Ur den i fig. 24 visade tabellen över läsminnets bitmönster inses att 0f== 1 när det ackumulerade värdet för S, i varje successiv operation, intar vardena SN = 6, 9, 12 och 5 (för M* = o, 1, 2 resp. 3). Observera att ÉLSN = 6 + 12 + 9 + 5 = 32, dvs. det önskade värdet r .
C _ Ovanstående diskussion har endast gällt alstring av positiva krökningar rc = 32. Alstring av andra krökningar kan åstadkommas genom programmering ev ett läsminne för varje önskad krökning. Detta skulle erfordra ett stort antal minnen och bör således undvikas eftersom det blir dyrt.
I stället kan man göra AM, AS, och SO (âterställningsvärdet för S när S = SN) variabla såsom funktioner av krökningen K. Den i fíg; 25 visade tabellen visar olika värden för rc för sådana varia- tioner i värdena A M, A S och SO. ro = 32 är basradien såsom framgår ur enhetsvärdena för Å M, AS och SO.
I fig. 26 visas ett blockschema över ett system med vers hjälp föregående kurvalstringsfunktion kan realiseras. Krökningsvärdet K från en CK-instruktion matas till en avkodningslogik 16, som även mottar¿/R-utgångssignalen från läsminnet 17 (svarande mot läsminnet i fig. 23). Logikkretsen 16 matar utgångssignaler¿lM och ¿lS, vilka definieras i enlighet med tabellen i fig. 25 såsom en funktion av värdet K,och dessa utgångssignaler A M och A S matas tillsammans med motsvarande värden för M och S till varsin adderare 18 och 19,av vilka den senare avger de uppdaterade värdena M +¿1M och den förra avger värdena S +¿lS. Uppdateringsfunktionen för kretsen i fig. 26 förut- sätter naturligtvis att A M = O mngfi= O. De uppdaterade värdena M +A M och S +.A S matas därefter såsom ingångssignaler till läsmin- net i fíg. 23.
Sammanfattning I det ovanstående har beskrivits de grunder enligt vilka teck- nen kodns såsom on funktion av ett begränsat antal begynnelsepara- motrnr, som definierar ett eller flora konturpar samt lutningar och kräkningar. Medelst dessa parametrar kan konturerna av vilken önskad form som helst kodas. Ovan har även beskrivits de instruktionsord som lngrnn i minnet och med vars hjälp olika beräkningar utförs för nlstrinfi av vilket önskat tecken som helst i vilken som helst i minnet lagrad stilsats. Vidare har förenklade blockschemor visat den nödvändi 7800499-1 21 ga hårdvara som erfordras för att utföra beräkningarna för bildning av de Y-koordinatvärden som utgör styrsignaler för avsökníngsstrâlen vid reproduktion av varje tecken på ett katodstràlerör. Det inses att dn lnpringnutrymmen som krävs enligt föreliggande system är obetydliga i jämförelse med de lagringsutrymmen som krävs i de tidigare kända systemen men ändock är föreliggande system extremt flexibelt och effek tivt. Såsom omnämnts ovan kan vilken önskad kodad stilsats som helst lagras i minnet och tecknen eller typerna i denna stilsats kan repro- duceras i vilken önskad punktstorlek som helst. Systemet är enkelt att anpassa till vilken önskad elektronstråleavsökningstäthet som hels i enlighet med skalfaktorerna. Beräkningarna utföres samtidigt med elektronstrâleavsökningen och avslutas, med hänsyn till behandlings- hastigheterna, i god tid innan varje avsökningsstreck. Således kan man mycket enkelt åstadkomma höghastighetsdrift eftersom hastighets- begränsningen i huvudsak utgöres av den hastighetsbegränsning som själva avböjningskretsarna för strålen erbjuder. Det är givet att även andra presentationstyper än katodstràlerör kan utnyttjas.
Deta jerade blockseheman Innan beskrivningen fortsätter skall noteras att teckengene- ratorn enligt uppfinningen endast är en del av ett totalt teckenals- trings- och presentationssystem och att således avsökningselektroniken för katodstråleröret inte utgör en sammanhängande del av själva inte- gratorn ehuru katodstrålerörets tidsfunktioner och dylikt är koordi- nerade med generatorn. Dessutom styrs genomlöpningen och synkroni- seringen av operationerna av en minidator, som kan köpas på marknaden.
Således har dessa komponenter och andra likartade komponenter i det totala systemet inte visats. Kommunikationen mellan dessa enheter mar- keras emellertid i föreliggande blockscheman.
I dessa blockscheman förekommer beteckningen PACT, som är en förkortning av uttrycket "Profile AlgoríthmComputation Technique", vilket betecknar karaktären av generatorn enligt uppfinningen.
' Minidatorn mottager de ingångstecken, som skall alstras; i vilken lämpligt kodad form som helst som är kompatibel med datorn, exempelvis från ett magnetbnnd, hålkert, hdlband eller dylikt. Inkom- mande data till datorn utpekar den stilsats som skall presenteras och den punktstorlek som presentationen skall ha. Via ett lämpligt minne eller genom direkt datainmatning erhåller datorn den information som ör nödvändig för radanslutningen av typerna i en presenterad linje, teckenmellanrum, radavstånd och annan dylik information.
I fig. 27 visas ett blockschema över ett allmänt system och i h OR QÜÄLITy :_ 7800499-1 22 figuren visas huvudpartierna av teckengeneratorns delsystem, ingångar, och utgångar. Datorns interfaceenhet sänder IORESET till den centrala processorn 26 ochJnedelst denna signal sätter den centrala processorn 26 hela systemet i funktion. Nedan kommer den centrala processorn26 att betecknas med CPU. Datorns interfaceenhet 20 matar även strob- pulser DS64 och DS65 för införing av vertikal- och horisontalskalfak- torer (16-bits ord visas såsom data O-data 15) i skalnings-, streck- dragnings-, och videostyrenheten 22, vilken nedan betecknas SSVCU.
Från skivminnen eller andra minnen med stor kapacitet mottager datorn även data avseende instruktionsorden enligt fig. 4 för den bestämda stilsats som skall presenteras och dessa instruktionsord lagras i ett buffertminnc 24. Buffertminnet 24 erbjuder snabb access för be- handlings- och beräkningsfunktionerna. En under styrning från datorn och från buffertminnet 24 utsänd startsignal, som matas in till CPU:n 26 initierar beräkningarna för presentation av varje tecken. Instruk- tíonsorden, som har 16 bitar, och som betecknas pact O-- pact 15 matas från buffcrtminnet 24, vilket för övrigt är en s.k. pact buffer, till CPU:n 26 och beräknings- och minnesenheten 28, vilken nedan beteck- nas VCSU, i beroende av en från CPU:n 26 utsänd instruktion buffert- begäran, vilken nedan betecknas som PACT REQ.
En huvudklocka i avsökningselektroniken 30 ger huvudklockpulser med frekvensen 2 MHz och dessa matas i allmänhet till CPU:n 26 från vilken klockpulserna utsänds till andra delar i systemet. SSVCU:n 22 matar en SVS-signal till avsökningselektroniken 30, och denna signal används för att starta och avbryta avsökningsstrålens varje vertikala streckdragning. SVS-signalen matas även till CPU:n för att markera huruvida ett streck håller på att ritas för att därvid koordinera sys- temets (vanligen) betydligt snabbare beräkningar för de efterföljande beräkningscyklerna med de betydligt långsammare streckdragningsinter- vallen. CPU 26 utsänder PFTF till SSVCU:n 22 när en streckdragning inte fortgår för att bringa SSVCU:n 22 att utföra vissa införings- och överföringsfunktioner, vilka kommer att beskrivas närmare nedan, och att initiera en streckdragning. PFTF kräver vidare att beräknin- garna för den nästföljande streckdragningen har avslutats. Således erhåller man koordinering även i det omvända fallet när det krävs att så mfingn beräkningar måste utföras så att den föregående streckdrag- ningen hinner sluta innan beräkningarna för nästföljande streckdrag- ning har avslutats, dvs. katodstrålerörets avsökning måste vänta. l praktiken inträder denna situation sällan.
En av övcrföringsfunktionerna är att överföra värdena för Y- ståt' .teslïèšåtiåßïi-“t-*e-*i r-d a: v 23 7800499-1 övergdngskoordinaterna från CSU:n 28 till SSVCU:n 22, vilket markeras med RY7 - RY16. Ett ord på 10 bitar överförs på detta sätt för varje kontur i ifrågavarande avsökning. Det bör i sammanhanget noteras att CPU:n 26 matar signalerna J1-J4 till CSU:n 28 för identifiering av varje kontur i avsökningen liksom även PFF, som är instruktionen till CSU:n 28 att beräkna parametrarna för nästföljande kontur (för- var och en av de två eller flera med J1-J4 identifierade konturerna).
CSU-enhetens 28 beräkningar bryts och vissa av dess konturparametrar startas vid behandlingen av instruktionerna Bolp, DY, K, CK, och CM, vilka erhålles från CPU:n 26 och inmatas till CSU:n 28. CPU:n 26 genomför även nollställning och vissa tidsstyrningskontroller.
Såsom kommer att förklaras närmare används utsignalen RY3>BY från CSU:n 28 till CPU:n 26 under BOLP-instruktioner för att ordna konturnumren J1-J4 i stigande värden för konturernas Y-koordinater i och för ordning av överföringen(RY7 - RY16) från CSU:n 28 till SSVCU:n 22. De på detta sätt ordnade koordinatvärdena lagras i ett temporärt minne i SSVCU:n 22 och man erhåller en mycket enkel tänd- nings- och släckningsfunktion. Såsom tidigare omnämnts utsänds en styrd klocksignal med frekvensen 8 MHz från avsökningselektroniken 30, varvid styrningsfunktionen består i att denna signal utsänds när en vertikal streckdragning börjar. 8 MHz-klockan aktiverar en räknare i SSVCU:n, vilken för en känd rampfunktion för avsökningsstrålen där- vid används för att identifiera det aktuella läget av elektronstrålen i det av stràlen ritade vertikala strecket. Det framräknade värdet skalas med vertikalskalfaktorn och när det svarar mot en Y-koordinat i det temporära minnet i SSVCU:n utsänds en tändsignal. Tändsignalen matas till en kopplingsenhet 29 för högspänning till videoenheten och denna kopplingsenhet 29 styr tändning och släckning av katodstràlr rörets elektronstråle under varje vertikalt streck och således teck- nets uppritning. Strålen är normalt släckt och tänds när strålens position uppnår ett första Y-koordinatvärdc, som således svarar mot den understa konturen av ett tecken. Ned hänsyn till att man använder konturpnr erhålles en mycket enkel tändninfis- och slückningsfunktion genom att för varje successivt Y-koordinntvärde släcknings-/tändnings- tillståndet ändras från det aktuellt rådande tillståndet till det motsatta tillståndet.
Några andra signaler skall nu kort beröras. En "S"-räknare i SSVCU:n ställs av horisontalskalfaktorn och denna räknarens räkne- innchåll minskas med en enhet för varje boräkningscykel vilket åstad- kommes medelst PFFT-signalen från CPU:n 26. När räkneinnehållet blir .-,» rq* _:1?C)QR'çQläqIdïr n 7800499-1 24 lika med noll utsänds signalen SXZ till CPU:n 26. CPU:n 26 kräver SKZ (för S = O) för att stoppa beräkningarna, överföra Y-koordinaternf (RY7 - RY16) till SSVCU:n 22 efter det att den aktuella avsökningen avslutats, samt initiera en streckdragning. S-räknarfunktionen användv således för att relatera streckdragningarna med beräkningscyklerna i enlighet med horisontalskalfaktorn, CPU¿n 26 innefattar en I-räknare som mottar en klockpuls på 2 MHz från avsökningselektroníken 30. I-räknaren är laddad med det antal beräkningscykler under vilka den aktuellt bearbetade instruk- tionen skall gälla. Räknarens räkneinnehàll minskas med en enhet på samma sätt som för S-räknaren vilket sker med hjälp av 2MHz-klockar under styrning från PFFT. Således bildar CPU:n, CSU:n och SSVCU:n huvudfunktionsblock i pact-processorn. CPU:n och CSU:n arbetar dess- utom samtidigt med SSVCU:n för att beräkna Y-koordinaterna och kon- turparametrarna M, K och S liksom även för behandling av eventuella pact-instruktioner, som erfordras för ett efterföljande streck medan elektronstrålen avsöker ett föregående streck.
Ovanstående diskussion i samband med fig. 27 och de beskrivna funktionerna i samband därmed blir klarare om man betraktar flödes- ' schemat i fig. 27A. Först noteras att funktionen PACT START nollstäl- ler de båda räknarna I och_S samt ställer systemet i tillståndet P (ett grundläggande tillstånd eller ett atergångstillstånd) från vilket systemet börjar utföra någon av de följande operationerna: 1) Instruktionsbehandling (PT) 2) Konturberäkning (PFF) 3) r-koorainatöverfasring (PETF) 4) Avvaktan på att aktuellt ritat streck skall slutföras (PFTT) Blockschemat i fig. 28 visar CSU:n 28 i detalj. CSU:n 28 inne- fattar en S-enhet 32, en K-enhet 34, en M-enhet 36 och en Y-enhet 38 av vilka de sista tre enheterna mottager pact-datumen 1 - 15 från buffertenheten 24. Var och en av dessa enheter mottar klockpulser från CPU:n samt bitarna J1-J4, vilka identifierar de aktuellt be- handlade eller beräknade konturerna av dc 16 möjligakonturerna. En logikenhet 39 mottager PFF (order att beräkna) och instruktioner BOLP, CM och CK från CPU:n 26 samt även K-tillstândssignalen (vilken bildas av ett CK-instruktionsord). Logikenheten 39 utsänder SWE, KWE, MWE och YWE till motsvarande enheter och dessa signaler är instruktioner att inskrívning skall ske i minnena i dessa enheter. Observera att J1 - J4 matas till varje enhet i och för identifiering av den kontur för , ~f Qfiffvuíü d.. ø-i'ï'r'_lwr 25 7800499-1 vilken parametrarna håller på att beräknas. De olika mönstren fördata- flödet ochinstruktionernakommer attbehandlas nedan.Sàsmnredan nämni utgöres utsignalerna från CSU:n 28 av Y-koordinaterna RY7 - RY16 vilka matas till SSVCU:n 22. Dessa värden beräknas och uppdateras från M-parametrarna, vilka matas till Y-enheten 38 från M-enheten 36 och markeras på ritningen såsom RM3 - RM8. M-parametern styrs i sin tur av K- och S-enheterna. Dessa grundläggande block kommer nu att be- skrivas närmare.
I Pig. P7 visas Y-enheten innefatta en Y-RAM 40 (RAM = random access memory) och en CDY RAM 42 vilka var och en mottar Y-koordinat- data från instruktioner, som erhålles från buffertminnet 24. CDY-RAM- enheten 42 mottager närmare bestämt Y-inkrementdatumen från CDY-in- struktionen medan Y-RAM-enheten 40 mottager Y-koordinatdatum antingen från buffertminnet 24 eller en spärr 46 via en 2-till-1-dataväljare 44. Spärren 46 lagrar utsignalen Y + A'Y från den 16 -bitiga adde- raren 48 (det uppdaterade Y-koordinatvärdet) vilken kommer att beskri- vas närmare. Väljaren 44 styrs av PFF (jfr. fig. 27A) för genomsläpp- ning av spärrens 46 Y-värde medan konturparametrarna i en bestämd beräkningscykel beräknas, samt för genomsläppning av ett Y-värde från buffertminnet 24 när en ny instruktion mottages.
CDY-RAM-enheten 42 har anordnats för CDY-instruktion för att medge alstring av långa raka lutande linjer i stället för att man försöker beräkna sådana linjer med utgångspunkt från M-värdena i en CM-instruktion.
Var och en av RAM~enheterna 40 och 42 har en kapacitet som medger lagring av 16 ord om vardera 16 bitar, vilket svarar mot 16 konturer, vilka identifieras och adresseras medelst ingângssignalerna J1-J4 från CPU:n 26.
Y-enheten innefattar även en programmerad ROM 52 (PROM)= pro- grammerat read-only-memory) som lngrnr A Y(M)-värdena. I ett prak- tiskt utfört system lagras 64 värden pd M vilket svarar mot 64_lut- ningar och således finns 64 motsvarande ¿ÄY~värden anordnade i PROM- enheten 52. Den intilliggande A'K-nvkodningslogikkretsen 54 ger de must niynífiknntn bitnrnn Aïflš-AY16 vilka inte lagras i PROM 52 i och för ínbespnring av kretsar. En ytterligare 2-till-1-dataväljare 56 väljer normalt ¿Ä'Y från ZÄY-PROM 52 och avkodningslogikkretsen 54 i och för matning av adderaren 48. Emellertid ger en CDY-instruktion upphov till NY från CPU:n 26 och utsignalen DYF från RAM 42 som därvid medförzittvïUaren[E¿ærutsignalen från CDY RAM 42 till adderaren 48.
Slutligen inmntns det uppdaterade Y-värdet till Y-RAM 40 från vilken e JPoos QUALITY 7800499-1 26 de bitar RY7 - RY 16 som styr elektronstrâlens tändning och släokning matas til] SSVCU:n 22.
En komparator 50 används under omgenomkörningen av konturnumren i det fall ett nytt konturövergångspar inträffar under perioden för en BOLP-instruktion. Komparatorn 50 utnyttjas för att jämföra de existerande värdena på Y-koordinaterna (RY) från RAM-enheten 40 med Y~koordinatvärdet (BY) på den nya kontur, som skall börja såsom genf svar på BOLP-instruktionen från buffertminnet 24 och bestämmer, på basis av Y-koordinaternas numeriska värden var i följden av kontur- nummer de nya konturnumren bör ligga.
Det i fig. 29A visade flödesschemat underlättar förståelsen av det ovanstående. Ur instruktionen "PFF" beräkna bestämmer, om DYF är falsk (O), MSB för M3 - M8:bitarna från M-enheten 36 (dvs. bit 8), huruvida Y skall ökas eller minskas med ett inkrement4Û Y.
Biten M8 kan således uppfattas såsom en teckenbit.
Innebörden av att biten M8 antingen är O eller 1 inses om fig. 29B betraktas. Figuren visar betydelsen av detta vid alstring av positiva lutningar och krökningar. Observera att krökningspolarí- teten definieras av den sjunde krökningsbiten K7. Om K7 = O är krök- ningen negativ och M minskas med inkrementet AM och om K? = 1 är krökningen positiv och M ökas med inkrementet A M.
I fig. 30 visas M-enheten 36 enligt fig. 28. Under en beräknin; period,medan M-parametern adresserar A Y-PROM-enheten eller tabellen (jfr. fig. 29),sker uppdatering av själva M-värdet i M-en- heten 36. Närmare bestämt innefattar denna en M-RAM 60, som lagrar M-parametern för varje existerande kontur. (Lägg märke till adresse- ringsingånganw.J1 - J4). M-parametrarna är kodade lutningar för var oc en av de maximalt 16 konturerna. Mfvärdet, vilket kan vara vilket som helst av 64 möjliga lutningar, innefattar ett ord om 8 bitar, varvid 6 bitar definierar lutníngsvärden för heltal från 0 till 63 medan 2 bitar definierar ett bråk, nämligen 0, 1/2, 1/4 eller 3/4. Bitarna M3 - M8, vilka definierar heltalsvärdet, matas till Y-enheten 38.
På liknrtnt funktíonssätt som i Y-enheten kan M-parametern startas medelst en pact-instruktion eller också kan värdet vara ett uppdaterat värde, som ökas i små steg under en beräkningscykel. En 2- till-1~datnväljnrc 62 väljer mellan dessa ingångar, dvs. antingen från buffertminnet 24 (innehållande bitpositionerna 2-7 i CM-instruk~ tionsordet enligt fig. 4) eller från uppdateringskretsen under styr- ning från PFF.
Uppdateringskretsen innefattar en adderare 64 om 8 bitar och kaj'¿íå?&ï5É;￧xï§ufi§ïBzb __wf 27 7800499-1 en låskrets 66 om 8 bitar. Sdsom redan omnämts uppdateras M-värdet under styrning från K-och S-enheterna. Absolutvärdet av A.M, dvs. ÅAM , med vilket M-värdet skall modifieras, erhålles från K-enheten 34. Biten är K7, vilken innehåller den 7:e biten i K-parametern, identifierar i enlighet med denna bits värde, vilket kan vara 1 eller O, huruvida krökningen är positiv (och M ökas) eller negativ (och M minskas) såsom framgår ur fig. 29B.
MZ-signalen från logikenheten 39 är sann för en BOLP-instruk- tion och utnyttjas för att inställa M på värdet 31 3/4 (för vilket ÄÄY = O) vid början av ett konturpar. Innebörden med MZ är i huvudsak att urstândsätta valjaren 62, så att inte någon ingângssignal inmatas till M-RAM-enheten.
Betingelserna för att M skall ändras visas i flödesschemat i fig. 30A. Ur fig. 30 och 30A inses att CPU:n 20 utsänder styrsig- nalen PFF, vilken initierar M-beräkningen. Det första valet RKF är huruvida en mnrkerinusbit i K-enheten anger att någon krökning före- kommer för en bestämd kontur (J1 - J4) eller ej. Om MN = MN_1 inne- bär detta att M inte skall andra sig, dvs. att något krökningsvärde inte har noterats för ifrågavarande kontur i K-RAM-enheten. Vid det andra valet enligt den andra romben anges huruvida ett tillskott till M kommer att medföra kapacitetsöverskridande och om detta kommer att inträffa ändras inte M.
Det tredje valet är det primära valet för krökta konturer, nämligen huruvida SN~värdet som finns lagrat i SN- tabellen överskri- der S-pnrametern. Om valet utfaller negativt inkallar logiken uppda- 1.m.~.i.ng w m och i det sista valet, 11k? (teckenbiten för krökningen) bestämmas huruvida en ökning eller minskning skall utföras. Om det sista valet utfaller positivt, dvs. är sant, kvarstår M oförändrat.
Betrakta fig. 30. Om en M-uppdatering inträffar lagras det nya värdet från adderaren 64 i làsenheten 66 för att via dataväljaren 62 skrivas in i M-RAM~enheten 60. _ Fig. 31 är ett detaljerat blocksohema över K-enheten 34. K- RAM-enheton 70 mottapor de 7 krökningshitnrna från buffertregistret 24 i enlighet med CK-instruktionen. Eftersom K-RAM-enheten startas medelst pact-instruktionen, vilket således är i motsats till Y- och M-enheterna, är det tydligt att K-värdet inte uppdateras under beräk- ninrar. Bitnrna K1,-K2, KS och K6 matas till en K-avkodningslogikkret 72 som i sin tur avgerliß MI. RK? styr komnlementeringskretsen 73 för 1:or och avger Ill MI till M-enheten 36. I fig. 31A visas en sannings- tabull för K-avkodningslogikkretsen. Observera attld MI = ZÄ SI = 1 QUALlTY L: 9003 \ 7soo499-1 28 och att A-SF = O för basradierna K6 = 1, K5 = K2 = K1 = O.
Bitarna K3 och K4 identifierar och väljer basradien. Fyra ta- belluppslag för SN svarande mot fyra basradier utnyttjas så att andra önskade krökningar kan approximeras genom skalning av ÅÄM-och LÄS-värden inom_den SN-tabell som ligger närmast den kurva, som skall kodas. Tabellen i fig. 31B visar SN-val för K3 och K4 samt värdena pålâsY (M)| för M+ från O till 31.(Såsom ett extremfall skulle en enda SN-tabell kunna användas och de önskade radierna skulle kunna beräknas genom skalning av A S och [KM och såsom ett motsatt extrem- fall 64 olika SN-tabeller kunna användas vilka var och en svarade mot en av de 64 olika radierna eller krökningarna). Observera att dataväljaren 76 används för en valfunktion i enlighet med K4 för detta ändamål.
M-, K-avkodningslogikretsen 78 styr återställningsvärdena So för S-parametern såsom en funktion av K1, K2, K5 och K6 och en sam- lingstabell för denna logikkrets' ingångar visas i fig. 310.
I fig. 32 visas ett detaljerat blockschema över S-enheten 32.
En S-RAM-enhet innefattar ett parti 80 med 4 bitar för lagring av hel- talsvärdet av S och ett parti 82 med 4 bitar för lagring av bråk- delarna av S för var och en av de 16 konturerna, vilka identifieras medelst adresserna J1 - J4. Komparatorn 84 ger S-enheten en nyckel- funktion i det att komparatorn jämför värdet på SN från K-enheten 34 med det ökande heltalsvärdet på S (dvs. S +¿3SF)I som erhålles från S-RAM-enheten 80.
Om komparatorn 84 avger signalen A ran från adderaren 86 och ¿lSI från K-enheten 34 till det S-värde som införes till adderaren 88 genom dataväljaren 89. Detta S-värde är antingen So, varvid S-räknarens innehåll har överskridit SN och så- ledes återställes till S0, eller det löpande värdet på (S +¿lSF)I.
Det modifierade värdet matas därefter till RAM-enheten 80 såsom det uppdaterade värdet. _ Observera att adderaren 86 adderar bråktillskottet ÅÄSF till det lagrade tillskottet SF från RAM-enheten 82 samt matar summan SF +¿lSF till RAM-enheten 82 för uppdatering.
Den komplementära utgången från komparatorn 84, nämligen A7'B n1hñ\ies från làskretsen So. När således (S +zñSF)I 2 SN avges en utgângssignnl till beräkningslogikenheten 39 i CSU-enheten 28)(jfr. fig. 28).
Såsom omnümnts kommer, när S 2 SN, M att ökas eller minskas 29 7800499-19 medlá MJ i enlighet med K? varvid M-K-avkodningslogikretsen definie- rar ett nytt värde på S0 och Y tillväxer under efterföljande be- räkningar såsom en funktion av det nya värdet på M. Således genereras ett successivt segment av den approximerade kurvan i enlighet med de nya Y-koordinatövergångsvärdena.
SSVCU-enheten 22 visas i detalj i blockschemat i fíg. 33. De primära komponenterna är horisontalskalningsenheten 90 och vertikal- skalningsenheten 92, vilka var och en såsom gensvar på motsvarande strobpulser DS 65 och DS 64 mottager skalningsinformationen från dntaingflnfion 0 - 15 från datorinterfaceenheten 20 på det tidigare be- skrivna sättet.
Ett temporärt Y-(TY)-koordinatminne 94 mottager bitarna RY7 - RY16 vilka representerar Y-övergångskoordinaten för var och en av konturerna. Y-koordinaterna erhålles från CSU-enheten 28 i stigande numerisk ordning på ordern S1 från CPU:n 26. TY-minnet 94 kan lagra 16 ord om vardera 11 bitar varvid den sista biten normalt är en nolla.
Cykel-utgången från CPU:n 26 ställer den 11:e biten på "1" när den sista Y-övergüngskoordinaten läses in. Detta utnyttjas för att identi- fiera den sista kontur som skall behandlas i en given beräkningscykel, vilket kommer att förklaras närmare.
TY-minnet 94 adresseras av en TY-adressräknare 96 som stegas fram av en TY-klocka från avsöknings- och videoenheten 98. Varje Y- koordinatvärde som lästs ut från TY-minnet 94 medelst adressräknaren 96 matas till en komparator 100 för verkställande av jämförelsen VYàTY.
Såsom omnümnts medger vertikalskalningsfunktionen att ett tecken kan alstras i vilken önskad punktstorlek som helst utgående från kodade teckendata, vilka är relaterade till koordinaterna i den fastställda kvadraten med storleken 72 typografiska punkter, dvs. den största punktstorleken. Den till vertikalskalningsenheten 32 ma- tade klocksignnlen på 8MHz från avsökningselektroniken 30 bringar en i vertikelskalningsenheten befintlig räknare att öka sin räkneställ- nine med ett värde svarande mot sknlninnen av det tecken, som skall presenteras. Om exempelvis ett 72:punkts tecken skall presenteras öka: rüknaren sin räkncställning med en enhet för varje ingående klockpuls.
Om på motsvarande sätt ett 4:punkts tecken skall presenteras skall räknaren öka sin räkneställning med 18 för varje klockpuls, dvs. för- hñllandet mellan den presenterade punktstorleken och den kodade stan- =ir~1~«is:t;:~1'l «\1<«~I1. således Jdmförs utsignalen från skalenheten 92, vilken utsig- v. b 7800499-1 30 nal är koordinatläget för den skalade elektronstrålen, i komparatorn 100 med den Y-övergângskoordinat som lästs från TY-minnet 94. Om jämförelsen ger till resultat att VYš:TY matas en utsignal till av- söknings- och videoenheten 98 som därvid tänder elektronstrâlen vilke* sker med styrning från videokopplaren 29. Såsom omnämnts ovan är strålen till en början släckt varför den således kommer att tändas vid den första jämförelsen. På grund av idén med konturpar kommer varje successiv jämförelse därefter att bringa strålen att koppla Om från mitt aktuella tillstånd till sitt motsatta tillstånd varför sålunda un därefter följande jämförelse medför att strålen ånyo släcks.
Så snart som avsöknings- och videoenheten 98 mottar en jäm- förelsesignal från komparatorn 100 matar den TY-CLK till TY-adress- räknaren för adressering av TY-minnet 94 så att detta läser ut näst- följande_övergångskoordinat.
Den elfte i TY-minnet 94 lagrade biten avger utsignalen TYF när den sista Y-koordinatcn matas till komparatorn 100. När VY~? TY inträffar,medför detta att strålen släcks för detta streck. TY-CEK urståndsätts och SVU:n kopplar om SVS-signalen till det motsatta logik tillståndet vilket markerar för CPU:n 26 att strecket nu har full- bordats. Avsökningselektroniken 30 upphör med vidare streckdragning och gör sig själv klar för nästföljande streckdragningsfunktion. Så- ledes är avsökningselektroniken inte låst till att elektronstrâlen skall avsökas i ett fast raster. Detta särdrag medger höghastighets- drift.
Detaljer i horisontalskalningsenheten 90 visas i fig.34. Såsom redan omnämnts kan icke-heltaliga skalfaktorer användas i förelig- gande system. Heltalslâsenheten eller registret 110 innehåller hel- talsdelen av horisontalskalfaktorn och låsenheten 112 innehåller bråk- delen, vilken erhålles från data-ingångarna från datorinterfaeeen- heten 20 och införas i låskretsen medelst DS 65. Heltalsdelen från lâskretsen 110 införes i S-räknaren 114 medelst signalen S1 under styl ning från CPU:n 26. Efter varje beräkningscykel utsänder CPU:n 26 PFFP för istdndsüttning av S-rdknaren 114 så att denna kan minskas mvd nanlïöljnndu CLK-ingångssígnal. När räknaren intar värdet 0 (ut- níflnalcn"MlN") matas SXZ till räkningar till dess den initierar att ett nytt streck har varit.
CPU:n som därvid inhiberar vidare be- Värdet i brñkdelsregistret 112 matas till en ingång A till en adderare med 10 bitar där det kombineras med den bråkdel, som finns aktuellt lagrad i bråkdelssummationsregistret 118. Registret 118 noll- Vf-.f f" F' fälg 't I' i ~ i '-“4--*“"” l tai-lvl* Q” 31 7800499-1 ställs till en början på värdet 0 medelst ordern CLEAR från CPU:N 26. Denna order återställer även S-räknaren 114.
När resultatet av additionen i adderaren 116 ger upphov till 'en överföringssiffra (vilket exempelvis skulle inträffa vid var fjärdr addition om skalfaktorn är 5 1/4) överförs överföringssiffran till S-räknaren 114 medelst signalen S2 från CPU:n 26 för att därvid öka räknarens 114 räkneställning med 1. Denna funktion utföres naturligtvi efter det att S-räknaren 114 har förinställts på heltalsdelen av horisontalskalfaktorn medelst införingsinstruktionen S1. V De ovan beskrivna operationerna i S-enheten medför således att icke-heltaliga horisontalskalfaktorer kan användas. Detta är mycket betydelsefullt eftersom man icke endast erhåller exakt skalning till önskade punktstorlekar utan även kan anpassa systemet till olika av- sökningstätheter.
I fig. 35 visas den centrala processorn 26 i detalj. Grund- komponenterna utgöres av en processortillståndsenhet 120, en opera- tionsavkodningsenhet 22 och en kontursekvensenhet 126, vilken nedan betecknas OSU. Operatíonsavkodningsenheten 122 mottager de första 5 bitarna i varje pact-instruktion och sänder motsvarande instruktioner till ifrågavarande enheter. Bitarna 8 till 11 i de instruktioner som innehåller konturbitarna J1 - J4 matas till OSU:n 124, vilken lagrar värdena på J1 - J4 för_utsignalen till CSU:n 28. Bitarna 12 till och med 15 av dessa instruktioner identifierar antalet beräkningsoykler till nästföljande instruktion och dessa matas till PSU:n 120.
De centrala behandlingsenheterna i databehandlingssystem är konventionella och hur dessa skall se ut för att de grundläggande sekvens- och styrfunktionerna enligt föreliggande uppfinning skall kunna utföras vet varje fackman på omrâdet. Således kommer beskriv- ningen av den centrala processorn att begränsas till vissa väsentliga aspekter som direkt hänför sig till de behandlingskontroller som er- fordras enligt föreliggande system.
Pig. 36 visar ytterligare detaljer av processortillståndsenhe- ten och tydlinnör även de olika utgñngarna från denna. Observera att var och en av instruktionerna BOLP, EOLP, CK, och CDY matas till var sin vinna R, E, K och DY och att de hringar systemet att lämna P-tillståndet, vilket även PWPF gör. Don sekvens av tillstånd som sys- lomvt vinomlöuvr framgår ur Flödesdínfirnmmot i fia. 37 i vilket hvit- ofh BULP-lnntruktlonnrnn visas bilda en sekvens av deltillstànd.
Av särskilt intresse är I-räknaren 130 som är förinställd på ioíea QUALITY .~.-., -. 7800499-1 32 det.antal beräkningscykler som finns i bitarna 12 till och med 15 och som i det fall det gäller en NOP-instruktion likaså ligger i bitarna 8 till och med 11. NOP-instruktionen istândsätter således grinden 132 så att denna grind genomsläpper dessa tillkommande bitar till I-räknaren. I-räknaren minskar därvid sitt räkneinnehåll med en en- het under den sista beräkningen av varje successiv beräkningscykel ner till räkneställningen O varvid den avger utsignalen IXZ, vilken omnämnts ovan. _ _ I fig. 38 visas kontursekvensenheten 124. Denna innefattar två skiftregister om vardera 16 bitar och dessa skiftregister är sam- tidigt serie-till-paral]ellomvandlare. Registret 140 lagrar de av 4 bitar bestående konturnumren och registret 142 lagrar i en motsva- rande position en enda bit, som identifierar de gällande konturnum- ren i registret 140.
Bland de primära funktioner som skall utföras är dels lagring av konturnumren efterhand som dessa inmatas genom BOLP-instruktionernr och dels eliminering av de konturer som lagrats tidigare, vilket sker vid mottagandet av en instruktion EOLP.
Enheten 124 organiserar även konturerna i stigande Y-koordinat- värden. Själva tillordnandet av konturnummer är naturligtvis god- tyckligt och ligger inom området från O till 15 för J1 - J4. Sedan en kontur tillordnats ett nummer lagras emellertid parametrarna för ifrågavarande kontur i de olika minnena (dvs. Y, M, K och S) på adresser, som definieras av konturernas resp. konturnummet J1 - J4.
Tidigare beskrivna exempel på kodade tecken har visat att efter hand som nya konturpar uppstår eller gamla konturpar upphör kan tidigare till varandra icke relaterade konturer nu bilda ett par.
Alternativt kan nya konturer ha koordinatvärden, som ligger mellan redan existerande koordinatvärden och bilda nya par. Dessa ändringar behandlas under B- och E-tillstånden i beroende av BOLP- och EOLP- instruktioner. _ Eftersom det inte finns och inte kan finnas en ordnad sekvens enligt vilken tilldelningen av konturnummer kan ske är det nödvändigt att konturnumren lagras i enlighet med en sekvens, som ordnas i enlig- hel med lady. Y huurdinntvüvdvu.
Detta krav har ställts för att medge den direkta-jämförelse- funktionen mellan den vertikala skalningen och TY-minnets utläsningar såsom diskuterats i samband med fig. 33 i samband med styrning av strålens tändning vid streckritningen. Kontursekvensenheten 24 sörjer således för att man erhållerkorrekt ordningstal på konturnumren med .,._...... _ . 33 7800499-1 hänsyn till Y-koordinatvärdenn för de resp. konturerna. I en Y-koordi~ natöverföringsoperation från CSU:n till TY-minnet i fig. 33 adresse- ras därför Y-ram-enheten 40 (fig. 29) i Y-enheten 38 (ett parti av CSU:n 28; jfr. fis. 28) med hjälp av konturnumren J1 - J4 från CPU:n 26 i den korrekta följd konturnummer, sonsvarar mot utläsningen av Y-koordinatövergângsvärdena i den erfordrnde stigande ordningen.
I fig. 2? visades att jämförelsen RY,7 BY erhölls såsom utgång från CPU:n 26. Detta visas i detalj i fia. 35 och denna signal matas till logikenheten 126 för vidare behandling.
Dessa funktioner visas en aning schematiskt i fig. 38. I figu~ ren matas B-och E-tillstånden, vilka svarar mot BOLP- och EOLP-instrul tionerna, till logikkretsenheten 126 (fia. 35) tillsammans med RY > BY. šnheten 125 avger därvid en utgdngssignal till styrenheten 150 som därvid uppmärksammas på om Y-coordinaten i BOLP-instruktionen är mindre än värdet för den Y-koordinat som håller på att läsas från minnet. Det bör i sammanhanget observeras att värdet på den Y-koordi- nat som håller på att läsas från minnet identifieras av konturnumret J1 - J4. Detta konturnummer är i varje öfionhlick utsignalen J1 - J4 från dataväljaren 152. Detta konturnummer matas till CSU:n 128 för att verkställa adresseringen.
Innehåller i registren 140 och 142 cirkulerar runt kontinuer- ligt under styrning från en klocka. Registret 142 identifieras till- sammans med avkodningslogiken 144 läget i varje ögonblick för den kontur, som har det minsta Y-koordinatvärdet. Detta skiftregistersteg identifieras och införes i minnesvipporna 146 när utsignalen från 8-till-1-dataväljaren 143 markerar att den största Y-koordinaten håller på att adresseras och att ett annat skiftregistersteg måste väljas. 8-till-1-dataväljaren 141 styrs således att läsa ut det minst Y-koordinatkonturnumret till dataväljaren 152 under det nästföljande klockintervallet.
Om Y~koordinatvärdet i en BOLP-instruktion är mindre än det på detta sätt identifierade minsta Y-koordinatvärdet för de existe- rande konturerna (dvs. RY>-BY) plockas konturnumret ut ur girku1e_ ringen genom skiftregístret ooh hållas i styr- och minneskretsen 152 \n4\}orn\uwnrmw* tor den nya av BOLP-instruktionen identifierade kon- turen förs in via enheten 52 i ingångssteget till registret 140.
Eftersom BOLP-instruktionen innefattar tvdord och två Y-koordinat- värden svarande mot tvâ konturer i ett par är det tydligt att, med hänsyn till fig. 4 enligt vilken det minsta koordínatvärdet finns i det förste BOLP-ordet och det andra BOLP-ordet, att de två SUC0@$5ïVfl I __ Ä ñfiww wijí»gyquusb I J) 7800499-1 34 mot varandra svarande konturnumren för de två Y-koordinatvärdena för de tvâ BOLP-orden införes i följd.
Om å andra sidan Y-koordinatvärdet för BOLP-instruktionen är större än motsvarande värde för en existerande kontur kommer styr- och mínnesenheten 152 att fortsätta cirkulera de existerande kontur- numren till dess jämförelsen RY >'BY erhålles.
Den motsatta situationen erhålles med EOLP~instruktionen i så måtte att existerande konturnummer skall elimineras från skift- registret. Denna funktion är enklare att åstadkomma. Ur fig. 4 er- hålles att EOLP-instruktionen är kodad med det konturnummer, som har det mindre Y-koordinatvärdet i det konturpar, som skall avslutas.
När således detta konturnummer matas från buffertenheten till enheter 150 och 152 och när en jämförelse erhålles med det konturtal som cirkulerar genom registret 140 identifieras sådan jämförelse för styr- ning av enheten 50 och denna styr styrenheten 152 så att styrenheten avlägsnar ifrågavarande kontur genom att inhibera eirkulering av detta konturnummer. Dessutom kopplar enheten 152 nu om från det siste utgångssteget 14OA till det näst sista utgångssteget 1403 varigenom samtliga efterföljande konturnummer flyttas fram ett steg i registret 140. Härigenom kommer samtliga existerande konturer att ligga i på varandra följande steg i registret 140, vilket medger effektiv be- handling.
Det inses att markeringsbiten för identifiering av gällande konturnummer kan föras in i skiftregistret 142 eller avlägsnas från detta genom i huvudsak identisk styrning av styrenheten 154, varvid den senare utför i huvudsak parallella operationer på samma sätt som styrpartiet i enheten 152. I Slutligen bör noteras att endast 8 utgångar finns från vart och ett från registren 140 och 142. Detta beror på det särpräglade förhållandet med konturlinjepar. Genom lämplig tidsanpassning kan dessa åtta parallella utgångar i varje ögonblick svara mot den undre Y-koordinatkonturen i vilket fall systemet per se vet att nästföljandf kontur i minnet är den motsvarande högre Y-koordinatkonturen i ett par. Detta förhållande har tidigare demonstrerats i samband med insättning nv den övre Y-koordinatkonturen i ett nytt par med hjälp av BOLP- instruktionen. Med hänsyn till EOLP-instruktionen kodas, såsom omnämnts ovan, endast den undre Y-koordinatkonturen. Således utnyttjas den av styrenheten 150 utförda elimineringsfunktionen till att eliminera både den kontur för vilken en jämförelse uppnås samt nästföljande successiva kontur. Således behöver EOLP-instruktionen in' rooaršszatrríl 35 något andra ord för identifiering av den högre Y-koordinatkonturen eftersom detta skulle vara överflödigt.
Sammanfattningsvis kan sägas att kontursekvensenheten 124 används för att vidmakthålla en korrekt följd av ökande Y-koordinat- värden. Vidare vidmakthålles konturnumren i konsekutiva steg i re- ' gistret 140. De markeringsbitar som identifierar gällande konturer ligger i registret 142. Det utmärkande för markeringsbiten och för avkodningslogikkretsen 140 är att behandlingsfunktionerna kan starta omedelbart med det minsta Y-koordinat-konturvärdet och fortsätta genom samtliga gällande lagrade konturer. Behandlingen är således intf tvångsmässigt begränsad i tidshänseende till att varje register ut- för en fullständig recirkulering. Detta sparar värdefull beräknings- tid. I det fall att exempelvis endast ett konturpar är registrerat kan systemet omedelbart identifiera läget för konturerna, behandla de två konturerna och därefter iståndsättas för en vidare behandlings- funktion. De återstående fjorton stegen för skiftregistren måste således inte tagas i beaktande. I detta exempel åtgår således endast en åttondel av behandlingstiden jämfört med den situationen där samt- liga 16 steg i skiftregistret skulle behöva undersökas och behand- las.
Sammanfattning Ovan har först beskrivits kodtekniken enligt föreliggande uppfinning samt en mycket grundläggande form för behandlingskretsar med vars hjälp koordinaterna för det tecken, som skall alstras, beräknas. Slutligen har en tämligen fullständig redogörelse givits av de behandlingskretsar, som används i ett i praktiken arbetande system. Fackmannen inser att många modifieringar och varieringar av tekniken och av kretsarna i enlighet med föreliggande uppfinning kan utföras. Såsom exempel på dylika modifieringar är det tydligt att andra koordinatsystem än rektangulära koordinater kan användas i samband med kvadraten. Även andra typer av presentationssystem än sådana med rektangulära koordinater kan användas. Dessutom behöver koordinatsystemet vid kodningen inte vara direkt relaterat till av- sökningsmönstret. För tydliphets skull har emellertid det speciellt bnntrixua nyuiemet utnyttjat en kodkvadrat med rektangulära koordi- nater semt ett rasteravsökningsmönster. Emellertid är uppfinningen inte begränsad till ett sådant direkt förhållande och såsom exempel, vilka emellertid inte är avsedda att begränsa uppfinningen, kan andra arrangemang innefatta en rektangulär kodkvadrat med ett cirkulärt _ i PÛOR QUALITY 'I _ 7800499-1 36 avsökningsmönster ellerett polärt koordinatkodningssystem och antinga en rasteravsökning eller en cirkuläravsökning för presentation. Den teknik som erfordras för att korrelera kodsystemet och de resulterandf beräkningarna för definiering av koordinaterna av konturerna i för- hållande till styrningen av presentationen för vilket önskat avsökningsmönster som helst, som kan användas i samband med presenta- tionen, är guppenbar för fackmannen. Ehuru påtagliga fördelar i samband med vissa tillämpningar uppstår till följd av att man utnyttjf ,konturper såsom beskrivits i samband med den föredragna utförings- formen av föreliggande uppfinning skall observeras att teckenfiguren inte behöver definieras medelst par av konturer. I stället kan ett tecken definieras av en enda kontur. Man inser detta enkelt när det gäller sådana tecken såsom exempelvis "E", "F", "I" etc. Om man väl- ;jer att utnyttja en enda kontur gäller emellertid fortfarande den grundläggande kodningsteknik som beskrivits ovan. I ett sådant fall skulle kodningen innefatta både tillväxande och avtagande värden pà beräkningscykler, som identifierar den utsträckning med vilken ett givet kodat koordinatvärde eller parametervärde skall gälla räknat från det ställe där konturstället är definierat. Dessutom inses att även om tecknet definieras av två eller flera konturer kan idén med att relatera konturerna till varandra såsom par i första hand även användas för visualisering av kodningsfunktionen. Det är i själva verket tydligt att varje kontur kan definieras separat. I samtliga ovanstående föreslagna variationer är den bakomliggande idén att ett teckens integritet skall bibehållas i enlighet med den avsedda användningen av en eller flera konturer i den resulterande kodningen och i de beräkningsfunktioner som anges enligt uppfinningen. De ovan beskrivna olika utföringsformerna av uppfinningen kan på många sätt modifieras och varieras inom ramen för uppfinningens grundtanke. __*_,,,.._..._--~""*, _ 'WålšÉY 'šeïøt s i

Claims (16)

f' 7800499-1 PATENTKRAV
1. l. Apparat för qvnernrinq av tecken, innefattande en avsök- ningsanordning (JO) som utför rasteravsökning utmed på varandra följande linjer svarande mot successiva värden av en första koordinat, ett minne (28) för lagring av uppsättningar av instruktioner, varvid varje uppsättning definierar ett tecken genom fastläggande av andra koordinatvärden vilka specificerar ändarna av linjära segment av tecknets områden, samt organ (98) för att omväxlande släcka och tända en tecken- avsökande stråle vid de andra koordinatvärdena, k ä n n e - t e c k n a d av att varje instruktionsuppsättning definierar ett flertal konturer av dess tecken och innefattar instruktioner (CDY, CM, CK) vilka startar delar av konturer, av en beräkníngsanordning (26) som arbetar i beräkningscykler koordinerade med linjeavsökningarna, varvid varje instruktion inkluderar (l) en identifikation av den kontur till vilken den hör, (2) information som fastlägger lutningen och krökningen av den därpå följande konturdelen och (3) en kod som specifi- cerar antalet beräkningscykler för vilka instruktionen gäller, varvid beräkningsanordningen (26) är känslig för denna infor- mation i och för beräkning av de andra koordinatvärdena över hela den följande konturdelen och är känslig för koden och för cykelberäkningsorgan (I räknaren 130) i och för Övertagande av nästa instruktion när det specificerade antalet beräkningscyk- ler har förflutit.
2. Apparat enligt krav l, k ä n n e t e c k n a d av ett buffertminne (24) i vilket de successiva instruktionerna för ett utvalt tecken lagras en i taget i och för användning under det specificerade antalet beräkningscykler, varefter varje gång nästa instruktion lagras.
3. Apparat enligt krav l_el1er 2, k ä n n e t e c k n a d av en räknare (130) för antalet beräkningscykler till nästa 7800499-12 t instruktion, organ för minskning av räknarens innehåll med ett i varje cykel och organ för kommendering av nästa instruktion när :hknurwn når värde! 0.
4. Apparat enligt krav l, 2 eller 3, i vilken begynnelse- instruktioner utmärker koordinatvärdena hos ett tecken medelst konturkoder som är individuella för detta, k ä n n e t e c k - n a d av ett konturkodsminne (140) för lagring av koderna i en sekvens svarande mot en ordnad följd av alla de införda andra koordinatvärdena.
5. Apparat enligt krav 4, k ä n n e t e c k n a d av ett temporärt minne (152) för lagring av koordinatvärdena i tur och ordning bestämd av de lagrade konturkoderna.
6. Apparat enligt krav 4 eller 5, k ä n n e t e c k n a d av ett första återcirkulerande skiftregister (140) för lagring av konturkoderna.
7. Apparat enligt krav 6, k ä n n e t e c k n a d av ett andra synkront återcirkulerande skiftregister (142) för lagring av flaggbitar i steg svarande mot upptagna positioner i det första registret.
8. Apparat enligt krav 7, k ä n n e t e c k n a d av att skiftregistren (140, 142) har parallella utgångar, av en avkodare (144) för avkodning av de parallella utgångarna hos det andra skiftregistret (142) i och för identifiering, i enlighet med positionen för en flaggbit i detta, av den minnesposition i det första skiftregistret (140) som vid varje given tidpunkt har en konturkod svarande mot det andra koordinatvärde som har den lägsta ordningen, samt organ (152) för avläsning av linjeidentifieringstal från det första skift- registrets parallella utgångar och från de positioner som definieras av avkodningen, varvid detta sker i en följd för det flertal konturkoder som är lagrade i detta.
9. Apparat enligt krav 6, 7 eller 8, i vilken de lagrade konturkoderna är ordnade i ökande andra koordinatvärden, k ä n n e t e c k n a d av organ för jämförelse av varje lagrad konturkods koordinatvärde med koordinatvärdet för en nyligen mottagen begynnelseinstruktion i och för bestämning av 19 7800499-1 huruvida det lagrade andra koordinatvärdet är större än instruktionens kodade andra koordinatvärde, samt av organ för avbrytande av återcirkuleringen av motsvarande kod i det första skiftregistret (140) och för införande av konturkoden för det nya andra koordinatvärdet som är inkodat i instruktio- nen framför nämnda kod när det lagrade koordinatvärdet över- skrider instruktionens andra koordinatvärde.
10. Apparat enligt krav 9, k ä n n e t e c k n a d av ytterligare ett minne för konturkoden för en avslutnings- instruktion i och för jämförelse med den lagrade konturkoden som återcirkulerar i det första skiftregistret (140), samt av organ för inhibering av ytterligare återcirkulering av denna konturkod när överensstämmelse föreligger mellan denna åter- cirkulerande konturkod och instruktionens lagrade konturkod.
11. ll. Apparat enligt något av föregående krav, k ä n n e - t e c k n a d av en pulsräknare för räkning av pulser i ett förutbestämt synkront förhållande med avsökningen och av organ för jämförelse av antalet räknade pulser med de lagrade koordinatvärdena i och för alstring av signaler som markerar de punkter där överensstämmelse föreligger.
12. l2. Apparat enligt krav ll när detta är anslutet till krav 5, k ä n n ei;e c k n a d av organ för jämförelse av antalet räknade pulser med innehållet i det temporära minnet (152), i vilket nästa koordinatvärde i ordningen inskrives när överens- stämmelse uppträder.
13. Apparat enligt krav 12, k ä n n e t e c k n a d av organ för avbrytande av den aktuella linjeavsökningen när överensstämmelse föreligger och det ej finns något ytterligare koordinatvärde tillgängligt för inskrivning i det temporära minnet.
14. Apparat enligt krav ll, 12, eller l3, k ä n n e t e c k - n a d av organ för ökning av räknarens innehåll med ett varierbart, förutbestämt tal såsom gensvar på var och en av följd av klockpulser. V
15. Apparat enligt något av föregående krav, k ä n n e - t e c k n a d av en räknare (114) för räkning av antalet rPOOR QUALITY 7800499-1 40 beräkningscykler och av organ för igångsättning av en linje- avsökning vid avslutande av varje räkning av ett antal cyklerj som bestäms av en variabel, i förväg inställbar skalfaktor.
16. Apparat enligt krav 15, k ä n n e t e c k n a d av ytterligare ett tillkommande minne (118) för lagring av heltals- och decimaldelen av skalfaktorn, organ för minskning av räknarens (114) innehåll med heltalsdelen i varje beräk- ningscykel tills ett utgångstillstånd uppnås, varefter en linjeavsökning igångsättes och räknaren återställes, organ för ackumulering av decimaldelen i varje beräkningscykel och för ökning av räknarens innehåll såsom gensvar på varje uppnådd minnessiffra från ackumuleringen;
SE7800499A 1973-05-11 1978-01-16 Apparat for generering av tecken SE437891B (sv)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US35959073A 1973-05-11 1973-05-11
US05/359,591 US4029947A (en) 1973-05-11 1973-05-11 Character generating method and system

Publications (2)

Publication Number Publication Date
SE7800499L SE7800499L (sv) 1978-01-16
SE437891B true SE437891B (sv) 1985-03-18

Family

ID=27000551

Family Applications (2)

Application Number Title Priority Date Filing Date
SE7406297A SE420291B (sv) 1973-05-11 1974-05-10 Sett att genera tecken
SE7800499A SE437891B (sv) 1973-05-11 1978-01-16 Apparat for generering av tecken

Family Applications Before (1)

Application Number Title Priority Date Filing Date
SE7406297A SE420291B (sv) 1973-05-11 1974-05-10 Sett att genera tecken

Country Status (4)

Country Link
JP (1) JPS5914758B2 (sv)
FR (1) FR2229098B1 (sv)
GB (1) GB1442544A (sv)
SE (2) SE420291B (sv)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4231096A (en) * 1978-10-10 1980-10-28 Eltra Corporation Digital typesetter
JPS5753783A (ja) * 1980-09-18 1982-03-30 Matsushita Electric Ind Co Ltd Mojikiokusochi
DE3479254D1 (en) * 1983-07-04 1989-09-07 Karow Rubow Weber Gmbh Method for automatically digitizing the contours of line graphics, e.g. characters
US4675830A (en) * 1984-07-06 1987-06-23 Compugraphic Corporation Method for producing a scaleable typeface data
US5724596A (en) * 1992-08-25 1998-03-03 Lathrop; Stephen P. Algorithmic character-space adjustment computed from character-sequence-based constants and font size

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1496957A (fr) * 1965-10-19 1967-10-06 Western Electric Co Appareil et procédé pour transformer des informations numériques en images graphiques et pour les afficher
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

Also Published As

Publication number Publication date
JPS50111940A (sv) 1975-09-03
DE2422464A1 (de) 1974-11-14
SE420291B (sv) 1981-09-28
FR2229098A1 (sv) 1974-12-06
GB1442544A (en) 1976-07-14
SE7800499L (sv) 1978-01-16
DE2422464B2 (de) 1976-02-19
FR2229098B1 (sv) 1979-09-28
JPS5914758B2 (ja) 1984-04-05
SE7406297L (sv) 1975-02-03

Similar Documents

Publication Publication Date Title
US4029947A (en) Character generating method and system
US4298945A (en) Character generating method and apparatus
US4199815A (en) Typesetter character generating apparatus
US4254468A (en) Typesetter character generating apparatus
US4129859A (en) Raster scan type CRT display system having an image rolling function
EP0009378A1 (en) Image transcribing apparatus
US4240075A (en) Text processing and display system with means for rearranging the spatial format of a selectable section of displayed data
CA1209244A (en) Compaction and decompaction of non-coded information bearing signals
GB2033307A (en) Digital typesetter
USRE30679E (en) Character generating method and system
US4068224A (en) Compressed information storage for characters consisting of black and white areas which are to be displayed or printed
US4580231A (en) Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data
SE437891B (sv) Apparat for generering av tecken
JP2844639B2 (ja) 文字パターン信号発生装置
JPS5839474A (ja) マトリツクス印字方式における2進コ−ド列の冗長度を低減する方法
EP0392499A3 (en) Apparatus for generating high-quality character pattern
US5671295A (en) Apparatus for converting image outline data into dot data representative of dots to be formed
GB2038598A (en) Photocomposition system employing electronic character generation from magnetically stored data
JPS6075977A (ja) 文字画像デ−タの処理方法
US4446491A (en) Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data
KR900005901B1 (ko) 문자화상 데이타의 처리방법
JPS58174991A (ja) 文字符号化方法
JP2539395B2 (ja) 情報処理装置
KR900006731B1 (ko) 바름체 문자로 빗김채 문자 인자방법
KR900003876B1 (ko) 문자, 화상데이터 압축방식

Legal Events

Date Code Title Description
NUG Patent has lapsed

Ref document number: 7800499-1

Effective date: 19940610

Format of ref document f/p: F