SE437891B - SIGN GENERATING DEVICE - Google Patents
SIGN GENERATING DEVICEInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G1/00—Control 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/06—Control 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/14—Control 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41B—MACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
- B41B19/00—Photoelectronic composing machines
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41B—MACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
- B41B27/00—Control, indicating, or safety devices or systems for composing machines of various kinds or types
- B41B27/28—Control, 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)
- Image Generation (AREA)
- Digital Computer Display Output (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é. 78004-99-1 element or dot in a dot matrix that corresponds to the character segments that occur when a character is in the matrix. Such a point type generation system is described in U.S. Pat. No. 3,165,145. A major disadvantage of this method of achieving character generation is that excessive storage spaces are required even in the case of reproduction with moderate to poor quality.
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.Another known coding method consists in breaking a character surface into a number of narrow bands which are quantized after which the start coordinates and the length of each such band are stored.
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.Such a technique is described in U.S. Pat. No. 3,305,841. A development of this method is described in U.S. Pat. No. 3,471,848 which utilizes an incremental (increment = small addition) form of encoding the endpoints of successive bands. This reduces the memory required for encoded character data.
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.A completely different way of generating recently used characters is described in U.S. Pat. No. 3,422,419. It analyzes a set of characters in order to form a plurality of patterns which are common to one or more of the characters. and which has a substantially rectangular shape. The patterns consist of a number of line segments of controlled length. Each character is encoded in the form of a combination of certain patterns selected from these common patterns. Although such a system reduces the required storage space, it can entail great limitations in terms of the fonts and means that a certain distortion occurs in the generated characters.
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.In accordance with the present invention, all characters in all memory-stored fonts are encoded with respect to a normalized square. The square generally corresponds to the character that has the largest size measured in typographic points. The character generating apparatus according to the present invention comprises a scanning device which performs raster scanning along successive lines corresponding to successive values of a first coordinate, a memory for storing sets of instructions, each set defining a character by determining other coordinate values which see ba ... Qggåw avs-vw: 'mià fi 1 7800499-1 specifying the ends of linear segments of the characters' areas, and means for alternately extinguishing and lighting a character-scanning beam at the other coordinate values. The features of the invention are that each instruction set defines a plurality of contours of its characters and includes instructions which start portions of contours, of a computing device operating in computational cycles coordinated with the line scans, each instruction including an identification of that contour. to which it belongs, information that determines lutnin and the curvature of the subsequent contour part and a code specifying the number of calculation cycles to which the instruction applies, the calculation device being sensitive to this information in calculating the other coordinate values over the entire following contour part and being sensitive to the code and for cycle calculation means in order to take over the next instruction when the specified number of calculation cycles has elapsed.
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.The invention will be described in more detail below in connection with the accompanying drawings, in which Fig. 1 shows on a considerably enlarged scale a 72: point serif intended for unit horizontal and vertical scale factors (HSF = VSF = 1) and produced on the basis of coded instructions according to the present invention, Fig. 2 shows the serif of Fig. 1 on a considerably larger scale, which serif generates the same coded instructions but now presented with the typographic casket size 4 points and VSF = 18 and HSF = 25,774, the inlaid figure illustrating the actual presentation as it would appear using the same scale. as in Fig. 1, Fig. 3A shows a character generated in accordance with the instructions of Fig. 3B in relation to normalized square, and Fig. 3C shows the contours of the same character as in Fig. 3A, which contours are numbered in the manner shown in Figs. is given in the instructions in Fig. 3B, Fig. 4 is an overview of instructions and the figure shows the format of the instructions, -1 l¿H¿ .._ 1Dc) () 1 Fig. 5 is a simplified square illustrating the coding of a character Fig. 6 is a simplified view of codeable slopes, Fig. 7 is a value table for the slopes of Fig. 6, Figs. Fig. 8 is a simplified square with a character having a simple shape and the figure is used to explain the coding of the slope, Fig. 9 is a table with instructions for the sign and the square in Fig. 8, Fig. 10 is a table with calculated Y- coordinate values for successive X-coordinate positions calculated with the instructions according to Fig. 9, Fig. 11 is a record of the character generated by means of the coded instructions according to Fig. 9, Fig. 12 is a block diagram of a read-only memory for storing the values for the incremental changes of the Y-coordinate values of the corresponding slope values, Figs. 13A and 135 show the bit pattern in the read-only memory according to Fig. 12 for the bases 2 and 2, respectively. Fig. 10, while Fig. 130 is a truth table in which representative slope values according to Fig. 6 are related to binary values whose bit positions are used as addressing bits for the read-only memory according to Fig. 12, Fig. 14 is a simplified block diagram for a mechanization of Y the update function in slope calculations, Fig. 15 is a simplified record of curvatures, Fig. 16 is a table relating the curves of Fig. 15 to binary form and to corresponding radii, Fig. 17 is a record of successive slopes which approximate a circular curve with any radius of curvature, Fig. 18 is a comparative plot of a sequence of gradients, which are generated for equal X-coordinate intervals and a curve to be approximated and coded, Fig. 19 is a simplified table which for a certain curvature value k gives the corresponding stored sequence of slope values M or 'of predetermined numbers Sn for the Y-coordinate change calculations to be performed for each slope value Fig. 20 is a comparative drawing of a contour generated in accordance with the curvature table of Fig. 19 and of the arc to be approximated; Fig. 21 is a cross-sectional view of the arc. a table illustrating updated Y-coordinate values, which have been calculated in accordance with the table in Fig. 19, 5 7800499-1 Fig. 22 is a comparative record showing the contour, which is produced from the values in the table in Figs. Fig. 21 and of the arc approximated thereby, Fig. 23 shows a simplified embodiment of a read-only memory used to provide the function M, which updates in accordance with the table in Fig. 19, Fig. 24 is a table for the bit pattern in the read-only memory according to Fig. 23, Fig. 25 is a table illustrating the generation of the difference curvature by means of only a read-only memory of the kind shown in Figs. 23 and 24 and programmed for a base radius rc = 32 for k = 6, Fig. 26 is a simplified block diagram showing a mechanism Fig. 27 is a basic block diagram of an embodiment of a character generator in accordance with the present invention, Fig. 28 is a detailed block diagram of the calculation and memory unit shown in the block diagram of Figs. Fig. 29 is a detailed block diagram of the Y unit shown in Fig. 28, Fig. 29A is a flow chart showing the Y calculation function of the Y unit in Fig. 29, Fig. 298 illustrates curve generation relative to incremental updated M and Y values, Fig. 30 is a detailed block diagram of the Y unit of Fig. 28, Fig. 30A is a flow chart of the functions of the Y unit shown in Fig. 30, Fig. 31 is a detailed block diagram. Fig. 31A is a table of values stored in the SN PROM of Fig. 31; Fig. 310 is a table of values for the K decoding logic of Fig. 31; Fig. 31B is a table of values stored in the SN PROM of Fig. 31; truth table for the MK decoding logic block in Fig. 31. Fig. 32 is a detailed b Fig. 33 is a detailed block diagram of the scaling, stretching and video control unit of Fig. 29, Fig. 34 is a detailed block diagram of the horizontal scaling unit of the horizontal scaling unit of Fig. 33. Fig. 35 is a detailed block diagram of the central processing unit shown in Fig. 27, Fig. 36 is a detailed block diagram of the process state unit of Fig. 35, in Fig. 37 is a flow chart showing the sequence of the system of to and Fig. 38 is a detailed block diagram of the contour sequence unit shown in Fig. 35.
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.General Discussion Each character that can be presented is usually a character among several characters in a set, which is usually referred to as a style or style set. It is clear that each such style set must be able to be presented with any style height. Within the typographic area, the font size is calculated in dots, with the typographic unit choosing that a dot is approximately 1/72 of an inch.
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.Thus, a Qz point type is defined within a square of 9 x 1/72 inch = 1/8 inch. Similarly, a 72: point type is a square with a 1 inch side.
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.According to the present invention, each character to be stored is encoded in accordance with a normalized square, which is common to all characters in all stylesheets. This square has been arbitrarily assigned to a coordinate system with 1,024 coordinate or bit positions in the X direction and 1,024 coordinate or bit positions in the Y direction.
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.The present invention requires a minimum of memory space for encoded character data. More specifically, each character is encoded with respect to certain parameters, which relate to the contours of each portion of the character relative to the normalized square. The contours are related in pairs and are essentially the boundaries of the filled areas, or segments, of each character. Although a normalized square is said to form the basis for encoding the characters, the present system is not in itself limited to a predetermined square shape in the sense used in typography for typical squares. According to the present invention, on the contrary, the horizontal dimension or width of the square may vary according to the width of a character.
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.The coded and stored parameters for each character include the Y coordinates of the start or start point of each contour and the gradients as well as the radii of curvature of these contours. In relation to the square, each bit position in the X-coordinate of the square comprising the sign is considered as a unit distance, and a calculation is performed with respect to the stored parameters of each such successive X-bit position in the square surrounding the sign, i.e. . each calculation cycle, in order to calculate the Y-coordinates at the bit position in question for each contour.
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.Each character is presented on a cathode ray tube with a screen, which has a high resolution capability both in terms of the quality of the luminescent screen and in terms of the sensitivity in the control of the applied radiation beam. When the scanning electron beam is moved along a vertical line, the calculated Y-coordinates of the successive contours of each pair of beams cause the beam to alternately turn on and off, so to speak, to "fill in" the vertical portion of the character segment between the contour pairs. The character generator of the present invention can be adapted to any desired scanning density of the cathode ray tube. For example, the cathode ray tube may have a total presented line length of 11 inches.
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.A fixed increment is established with which the vertical scans are successively moved over the predetermined maximum line width and this increment can e.g. is selected so that the line length of 11 inches is divided into 214 positions or bit positions, which thus gives a total of 16,384 bit positions, ie. 1,488 bits per inch. Typically, the scan density or resolution is adjustable and can be selected to be 1/1488 inch, which is the largest density, or 1/744 inch (ie in the former case a dash or a scan for each bit position and in the second case a dash or a scan for every other bit position). In the high quality cathode ray tubes with which the present character generator is intended to be used, the point size of the scanning beam is very carefully regulated. In the present example, a point size of the scanning beam can be selected to be 0.0015 inch. Under these conditions, one can obtain an overlap between adjacent lines amounting to a scan density, i.e. a stroke of 1/744 inches.
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.An essential feature of the present invention is that the bit positions or divisions of the square are independent of the scan grid and this also applies to the coding of the characters, although it is clear that the coding resp. the divisions must be correlated with each other in order to obtain the presentation function. More specifically, the characters are coded for a maximum point size of the presentation within the normalized square. Horizontal and vertical scaling factors are then introduced to transform calculated coordinate data to control the scan beams in accordance with the desired point size for the presentation. Thus, a single set of 7800499-1 8 encoded character data for any particular style set is sufficient to present all the characters in that style set with any desired point size within the available range of point sizes.
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.Enlninidator receives input data indicating the style and size to be presented as well as special for presentation. data. Furthermore, the minicomputer ensures that the scanning beam is placed on a suitable line and that the desired character spacing is maintained. The number of offset lines of characters presented on the cathode ray tube can also be selected with regard to the size of the style set currently presented and under the control of the computer.
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.According to an application of the invention, the cathode ray tube presentation is used to expose a photosensitive medium, which is then moved in small steps past the cathode ray tube presentation of each line of characters. The ability to present a plurality of lines of characters before advancing the medium receiving the photosensitive image to a position where it can then receive a plurality of presented lines of characters allows very fast operation. In this context, it should be noted that the deflection of the scanning beam through successive vertically offset character presentation lines is much faster and much easier to perform than moving the medium for each presentation line in small steps.
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.Thus, each character in each style is encoded relative to a normalized square, and the data required to reconstruct a character includes the initial coordinates of the character within the square, ie. the starting position for the outline of the character, and varying parameters such as the direction and curves of lines and curves included in the outline of the character.
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.Generation of a character contour proceeds simultaneously with the presentation of the character in accordance with the calculations performed in succession with the stretching intervals of the cathode ray tube's presentation beam.
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.However, as already mentioned, there is not necessarily a one-to-one relationship between the counting intervals and the dashing intervals. Although the same number of calculations for defining the character contour is performed regardless of the point size with which one wishes to image the character, the Y-coordinates are generated, which are used to control the ignition of the scanning beam, in relation to horizontal scaling factors, which relate the number of calculations. 9 7800499-1 cycles to the desired point size and to the line density of the cathode ray tube beam.
Skalninq: Beräkningar samt faktisk presentation.Scaling: Calculations and actual 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.As an example, it is assumed that this applies to a system with presentation of the largest point size, namely 72 points. Also assume that all characters are coded for this size and that a normalized square of 210 bits (1,024 bits) is used. The scale factors are calculated as follows: Horizontal scale factor (ass) = Lpšâktstorlekl x [Stršgiêäthet] (1) Vertical scale factor (VSF) = Lšåñíïšïšëïšïí x íkamphastighsä (2) (It is clear that these values can be expressed. corresponding binary numbers which also occur and these numbers are processed by the system) ._ The actual number of dashes per character is related to the number of calculation cycles by the following expression: dashes per character = 1+ (Total antaäê; counting cycles) -1 (3) The number of dashes is an integer and this integer is obtained by dropping the fraction of the results.
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.The above equations can be further illustrated with reference to Fig. 1, which illustrates the presentation of a serif made in 72 points shown on a considerably enlarged scale (cf. Fig. 3A). This presentation was obtained by sweeping an electron beam having a line density (line density) of 1,024 lines per inch. Note that Fig. 1 has a line density equal to as many lines per inch as the number of bit positions in the normalized square.
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.Since this is the largest 72: point size, the calculation of the contours is related on a one-to-one basis to the original coding of the character. From equations (1) and (2) above, HSF = VSF = 1 is obtained. From equation (3) it also follows that the number of dashes per character is equal to the number of calculations fi cycles.
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).In Fig. 1, the initial coordinates X = 200 and Y = 750 for the lower contour and X = 200; Y = 800 for the upper contour. Based on this initial information, the electron beam can immediately start scanning the first line at the position X = 200, the beam being initially extinguished and then lit at Y = 750 and then extinguished at Y = 800. The vertical position of the beam below '.-_ ”PÖQR QUAtm 7soo499-1 1” The indentation is determined by counting pulses from a clock with a frequency of 8MHz. For a certain ramp speed, the clock will thus identify the current position of the beam based on equation (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.During a given line, the system calculates the character contour positions for the next line. Since in Fig. 1 HSF = 1 a calculation is performed for each successive horizontal bit position and likewise a line is made for each bit position. As will be described in more detail below, coding of the sign shown in Fig. 1 will identify the serif as if it did not show any changes in the upper and lower contours from calculation cycle No. 200 up to and including calculation cycle 250. Thus, the same repeated ignition: and extinguishing of the beam during 50 calculation cycles. During cycle 250, however, a change in the lower contour occurs and this change involves a downward oscillation which proceeds in a more or less continuous manner up to and including calculation cycle 300. As can be seen from Fig. 1, the curve is approximated by a sequence of incremental steps and thus decreases the Y coordinate of the lower contour during successive steps and during a predetermined number of calculation cycles along the X axis.
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.For example, a first change occurs in the lower Y coordinate during calculation cycles 256 through calculation cycle 260 (5 cycles) and a second change occurs during calculation cycle 261 up to and including calculation cycle 264 (4 cycles), 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.Fig. 2 shows a more typical situation in which the line density does not correspond to the bit positions on a one-to-one basis for the normalized square. Instead, a bar density of 744 points per inch is used. In addition, a llz point serif is shown which is thus 1/18 of the size of the 72: point serif in Fig. 1. From equation (2) VSF = 18 is obtained as shown in Fig. 2. The serif shown in Fig. 2 is of the same size as shown in Fig. 1 because it is coded on the basis of the normalized square. However, while Fig. 1 shows the serif 62.5 times larger than the actual presentation size of a 72: point type, in Fig. 2 the actual presentation size of a 4: point serif has been entered. An idea of the difference in scale is obtained even if one compares the diameter of the electron beam, which in Fig. 1 is shown to be 15 / 10,000 inches and which is shown in Fig. 2 for a 4: point 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.The position of the beam below each vertical bar is still identified by the clock with the frequency & MHz, but instead of each clock pulse being counted as 1, as in the case of Fig. 1, each clock pulse causes the counter's counting content to increase by 18. The ramp speed of - the search beam can thus remain constant. From equation (1) MSF = 24,774 is obtained, which is also shown in Fig. 2. This means that a vertical line is made after every 24,774 calculation cycles. To achieve these, an integer or an integer number of calculation cycles must be related to a single line and thus special circuits are required, which will be described in more detail below, in order to vary the integer number of calculation cycles for successive lines. In the present case, these circuits can provide an average value for HSF of 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.From Fig. 2 it can be seen that 5 lines, which are numbered from I-10 to 14, are performed by the beam in order for the serif portion of the character shown to be presented. Fig. 2 also shows in broken lines the tracks which the electron beam follows, the rough black lines in Fig. 2 showing the calculation cycle at which the current lines are performed.
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.It is clear that the resolution of the sign has decreased considerably, but nevertheless the resolution is sufficient for the sign to be presented with very high graphic quality in this reduced size. It will also be appreciated that once a line begins, the system continues to calculate the character contours and thus also the on and off portions of the scan beam for the next line and thus multiple calculation cycles are required. In this section, the basic character generation technique will be covered. Fig. 3A shows the capital letter "J" with the associated table in Fig. 3, which consists of instructions for generating this character. The same capital letter "J" is shown in Fig. 3C to illustrate the contours of this character. For comparison, Fig. 3A includes an inlaid area corresponding to the serifs of Figs. 1 and 2. The sign occupies 500 calculation cycles and its initial coordinates X; Y is (0.400). As can be seen from Fig. 3A, the sign must be completely filled in by the electron beam lines and in Fig. 3C the contour pairs delimiting these filled areas are shown. At the beginning of the sign (X = 0) a first contour pair 1 and 2 is defined and at calculation cycle no. 200 a new contour pair 3 and 4 is initiated. As can be seen from Fig. 3C, the angle,, which is between 87.20, is measured in relation to a horizontal line. The line that defines the angle is tangent to the curved boundary line or contour of the character. This will be described in more detail below.
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.Each character necessarily has at its starting point at least one contour pair, which for the displayed "J" are the contours 1 and 2 which have the common Y-coordinate 400. Knowledge of the slope of the contour 1 is a prerequisite for the first calculation cycle. The instruction "beginning of contour pairs" which will be abbreviated BOLP below, must _ QUÄLLTÅ 7800499-1- 12 thus have this information. This is accomplished in the last column of Fig. 3B by the sign 0 "calculation cycles to the next instruction". At the starting point, the contour 1 has a vertically downward direction. This is encoded as a change closing instruction CM for Q = -87.20. The 0 calculation cycle is also coded. At the starting point, the contour 1 is coded so that it has a curvature change instruction (CK) with the curvature value +1/200. The CK instruction is coded for 100 calculation cycles to the next instruction. Drafting and calculation now proceed with appropriate horizontal scaling factors up to calculation cycle no. 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.Then a CM instruction for changing the slope and a CK instruction for changing the curvature regarding the contour no. 2 are introduced and this instruction may apply during the next 100 calculation cycles. No change instruction for the contour 1 is encoded and thus the contours 1 and 2 will be defined as being curved until the calculation cycle 200 is reached. At the calculation cycle 200, the contour pair 3, 4 starts in accordance with the additional BOLP instruction encoded with respect to the Y-coordinate values 750 and 800. At the calculation cycle 250, there is a curvature change instruction CK for contour 3 and this is coded to be K = 1/50. which may apply for 50 calculation cycles. Note that the initial portions of contours 2 and 3 and 4 are horizontal and that the entire contour 4 is horizontal, so no CM instruction is required to mark the initial slopes of these contours. Also note that the CM instruction is required before the CK instruction for contour no. 3 as no change in the key occurs at the point where the curve begins. It should also be noted that contours 2 and 3 cease to exist at calculation cycle No. 300 and that this is determined by the instruction "end of contour pair which will hereinafter be referred to as EOLP. The EOLP instruction is coded to apply for 100 calculation cycles. described in more detail below, the contour pairs which continue to define the remainder of the sign will now include the contours 1 and 4. Thus, the beam is continuously lit between the contours 1 and 4 and the contour 4 remains as a straight line while contour 1 follows the curvature according to its previous CK instruction.
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.In calculation cycle no. 400, a further definition of contour 1 takes place by means of a special form of BOLP instruction, which causes the contour to start again in calculation cycle no. 400 from a value of Y of about Y = 400 directly to the value Y = 700. This special 13 7800499-1 BOLP instruction will be described in more detail and is generally used to adjust Y-position discontinuities in the character contour at any intermediate X-position. The contour 1 is also coded in a CM instruction for G = + 87.2 ° and calculation cycle no. 0 and also in a CK instruction for a curvature of K = 1/50, this CK instruction being coded to apply during 50 calculation cycles. At the calculation cycle 50, the CM instruction encodes a change in the slope to Q = 0o during 50 calculation cycles and the contour 1 thus continues as a horizontal line during the next 50 calculation cycles. Finally, an instruction "character end", which will hereinafter be referred to as EC instruction, is used to identify the end of character coding and thus also the end of calculations for generating character presentation control.
Fig. 4 visar instruktionsformatet i ett existerande system.Fig. 4 shows the instruction format in an existing 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.The instructions are based on one word consisting of 16 bits, BOLP and CDY each comprising 2 words. The seven instructions shown in Fig. Are the total instructions required to generate any character. With the exception of the NOP and EC instructions, each instruction identifies not only the operation to be performed or the narameter to be checked but also the specific contour to which the instruction belongs and the number of calculation cycles of the next instruction. An operation code from 1 to 5 bit positions identifies the specific instruction and each instruction, with the exception of the BOLP instruction, includes a number of bits for encoding the calculation cycles. In the instructions CDY, CM, CK ooh EOLP 4 bits are used for this purpose while 8 bits are used for the same purpose in the instruction NOP. Thus, while 4 bits allows coding of from 0 - 15 calculation cycles to the next instruction, the instruction NOP allows coding of from 0 - 255 calculation cycles.
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.The NOP instruction can therefore be used when a larger portion of a character is to be generated without any contour information being required.
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.The two words in the BOLP instruction refer in turn to the upper resp. the lower contours of a given pair and the index designations S resp. L refers to the smaller (small) resp. larger (large) Y-coordinate value. The Y value is encoded in 9 bits from bit 8 through bit 16, although for calculation purposes Y includes a number of 16 bits.
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.The 10 most significant bits identify the integer value of Y from 1 to 1,024 and the less significant 6 bits are fractional bits required to approximate fractions or non-integer portions of slope values. However, control of the position of the beam is limited during time under the BOLP instruction, suitably to a 9-bit value and took according to '7800499-1 "f allows determination of an initial Y-value among any of the 512 evenly numbered values in the 1,024 bit positions for the Y-coordinate axis. BOLP also has 4 bits J1 - J4 in each word, which identify the contour in question to which the instruction relates. This allows a maximum of 16 contours and thus 8 contour pairs along an arbitrary vertical portion of a character. It should be noted that the other instructions are also coded with the bits J1 - J4 for identification of the contour, which is to be subjected to modification with the instruction in question. 7 The CDY instruction is used to define a contour, which is a straight sloping line. It has previously been mentioned that curves and gradients are obtained through incremental changes in the Y-coordinate values. These incremental changes are encoded in the CDY instruction in 14 bits designated ^ Y1 “” N14 4 Y values are defined as the 1 complement. This allows a set- plus a character bit that is so shaped that negative inclination for straight lines in a character contour from +255 63/64 - _2565 63/64 with one resolution, which amounts to 1/64. The modification of this CDY instruction is a compromise with respect to the utilization of memory capacity for tilt changes and bends. This will be described in more detail below. In general, generating a straight slope, if this generation was performed by the calculation, which was based on a slope change instruction (CM), would require impermissibly large memory space for storing slope information in order to generate an accurate straight line of the quality printed. - technology requires. Conversely, if only a reasonable number of slope changes were coded, generating a long straight line CM instructions (e.g. as in the letters "M" or "V") would give rise to an uneven step-like shape and thus could not be accepted in in terms of quality.
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.The slope change instruction (CM) thus comprises 6 bits of slope information (which allows storage of 26 = 64 different slopes, which is a reasonable number). The curvature change instruction (CK) comprises 7 bits of curvature information, the bit K? is a piece of character. Thus ¿26 =: G4 different vomiting is obtained. Each of the instructions CM and CK is also coded with the number on the contour, namely the bits J1 ~ J4. The "end of line pair" (EOLD) instruction requires encoding to identify the number of the contour with the smaller Y coordinate.
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.The term "pair" is found in the EOLP instruction because contours always begin and end in pairs. The "character end" (EC) instruction is encoded and 7800499-1 is identified by the system as being the end of the generated character.
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.Examples of calculations In order to facilitate the understanding of the present invention, an example is described below in which a considerably reduced amount of data and parameters is used, which means that it is easier to understand the meaning of the calculations performed. Fig. 5 shows a square consisting of 64 units in each of the X and Y coordinate directions. In accordance with the above much more complicated illustrations, a baseline is determined inside the square and this baseline is at Y = 21. This provides for such letters as, for example, "Q" or lowercase letters of the type p, q, y, etc. , which have portions that go below the baseline, can be accommodated inside the square. The X-coordinates can be defined as 6-bit binary numbers, while the Y-coordinates can be defined as 12-bit binary numbers. Thus, a point inside the square can be defined by X = 6, Y = 7 33/64 (note that 2 bits define the integer value of Y and that 26 bits identify the fraction expressed in 64th parts). While the Y-coordinates can be resolved with this accuracy, the coordinates that control the on and off of the scanning beam are only 6-bit teles, which thus only define integer values for Y-coordinates. The necessity of fractions in the Y-values derives from the coding and calculation of slopes and curves as will be described in more detail below.
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.Slopes I Fig. 6 shows a set of "codeable" slopes. The figure shows a number of beams for slopes from M = 0 to M = 7 and next to this figure there is a small figure that shows how the angle G is related to the X coordinate. It is thus clear that AY_ ÛX- “ßsê (4) Since in addition the X-additions A.X (which are also called increments) correspond to successive calculation cycles or bit positions and .. by definition can have a unit value, you can set this 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).Thus, AY = nga (5) Above, it has been described that gradients and curvatures are obtained by incrementally changing the Y coordinates of successive bars. These changes are thus the values A.Y. It is now realized how these changes are related to an inclination function M, which in turn is related to the angle 9. It is also understood that in order to achieve a desired inclination of a contour contour one must change ¿lY in accordance with equation (5 Rv peppooa Qvf fl ßffïl 4 7800499-1 '6 The slopes M = 0 to M = 7 are converted to 3-bit binary numbers as shown in the table in Fig. 7, which also shows the angular values of Q, the values of tgê and the calculated values of ¿& 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.Fig. 8 is a simple geometric shape used to illustrate the "update" operation for Y as a function of the slope values M. Fig. 9 is a simplified list of coded instructions corresponding to the generation of the one shown in Fig. 8. the form. The instruction BOLP gives the initial coordinate information Yo = 2 and Y1 = 24 for the contour pair O and 1 according to Fig. 8. The X-coordinate has arbitrarily ~ been chosen to be X = 4. GO = 22.50 for contour O and G1 = -450 for contour 1 which according to Figs. 6 and 7 suitably correspond to M1 1 and MO = 5. These values are coded as parameter information in the corresponding CM instructions. The system then continues with calculation of the Yy values, ie.
Y-uppdateringsfunktionen samt alstrar de visade lutande konturerna O och 1 till dess instruktionen EC markerar att tecknet är slut.The Y-update function and generates the displayed inclined contours 0 and 1 until the instruction EC indicates that the character is finished.
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.In Fig. 9, the table space [SX corresponds to the number of calculation cycles in Fig. 4 and for the CM instruction for contour 1 the value is 14. The character in Fig. 8 extends from x = 4 to x = 18 sec. 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.Thus, 14 vertical scans are required (provided that 1 scan corresponds to 1 calculation cycle) in order to present the sign in Fig. 8. Furthermore, 13 pcs. "Y-updates" of the contours O and 1. The equations below describe the update process. By definition ,.AX = 1 for each update and j = the contour number: AX = Yj (X) + AX j Yj (X + AX) (6) well: + 1) = Y¿ (X) + Amwq.) (7 In addition, AY (1113) = ÛY (M3) tg oj (8) AX Since GO = 22.50 and 91 = _450 are thus: 27 - AY (rio) = w; G0 = n; <22, s °> 2 61 <9) A Y (m1). = ng 421 = tg (-45 °) - -1 (10) From the general expression in equation (6) one can then write the specific update functions for the contours 0 and 1 as follows: 27 YO (X + 1) = YO (X) + Éï (11) Y1 (X + 1) = Y1 (X) - 1 (12) w '_ a- * šf zgía, få är 1 ,, 7800499-1 The table in fig. (10) shows the calculated the coordinate values of YO (x) and Y1 (x) for the successive values of X. From the corresponding electron beam orientation shown in Fig. 11 and considering that only integer values of Y are used to control the ignition of the scanning beam, it is seen that the contour O changes gradually in successive groups about different Y-coordinate values. Fig. 10, on the other hand, shows that the fractions of the Y-values accumulate and possibly affect the integer value of YO (x). The reason why the fraction values of YO (x) are ignored may be, for example, that a 6-bit digital / analog converter is used to achieve the ignition function coordinated with the scan of the scanning beam.
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.Calculation of equation (5) is conveniently done using a Read Only Memory which for the system shown has a capacity of 32 bits with the bit pattern "programmed" so that it offers 4 pieces of 8-bit words on it. method shown in Fig. 12. Fig. 12 corresponds to binary coded values where N1 is the integer part of Å Y and N2 is the value of the numerator in the 64th part of AY, which can be written in the following NO ÛY (m) = N1 + ~ 6 Note that the inputs to the read-only memory in Fig. 12 are M1 + and M2 +, which correspond to internally decoded values for the M-input to the read-in memory according to the following equations for "exclusive or" expressed in Boolean algebra: m2 * = MZGJEB (14 ) 1111 * = r.11@m3 (15) The reading pattern bit pattern for the different values of M + in binary notation is shown in the table in Fig. 13A and the corresponding values expressed in the base 10 are shown in 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.From the above it is understood that the read-only memory is addressed with only two bits and that this is possible with regard to equations (14) and (15) in that the memory is sensitive to the third bit M3 in order to control the sign of AY and more specifically Ar (m )> o if m3 1 (16) AY (m) 7o if m3 o (17) From the above it is understood that the value of Y is then updated by addition or subtraction of the A Y value (subtraction is performed by complomenterjny to 1: All expressions for the M addressing function ll ll Pooa oUALnY 7800499-1 as is shown in the truth table in 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.How the Y update can be mechanized is shown in simplified form in Fig. 14. A 12-bit value, which is derived either initially from a data source (for example a BOLP instruction) or comprises a current calculated Y-value, which will be described in more detail below, input to a 12-bit adder 10. The 3-bit word defining an M-slope value obtained from a CM instruction is input through appropriate gates 12a and 12b to the Y-read memory 13 to address it in that manner. as proposed in Figs. 12 and 13A. From there, the stored ¿ÄY4 value goes to a gate 14 which complements to 1 (and which is also the sensor value fi3). The gate 14 then feeds the ¿§Y value to the 12-bit adder 10 either for addition or subtraction (through the function with the complement to 1) to the simultaneously entered Y-value. The resulting sum Y + ¿! Y is fed to a 12-bit latch 15, which in turn stores the resulting value Y + ¿1Y in the RAM memory intended for Y coordinates as the new Y coordinate value, which is to be used during next scan.
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.This new value of Y can be fed to another Y coordinate memory RAM for controlling the scan beam. The current Y coordinate value is also fed back to the 12-bit adder 10 for use during the next Y update operation.
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.Curves Next, the coding of curves should be touched upon. Fig. 15 shows a system with 4 radii of curvature in each of two curvature polarities. These radii are denoted K = 0 up to K = 7. A 3-bit binary number can encode these curvatures, namely a radius among 4 radii (for which 2 are needed) bits and one of two polarities - (for which a bit is needed Thus defining k1 and k2 a desired radius of curvature re and the third bit k3 defines the sign of the curvature.With a base radius rc '= 32, the table shown in Fig. 16 relates the curvature k to its binary expression and the desired value of 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.Fig. 17 shows how the above is used to generate curves. The radial lines M; O at the top M = ¶ ~ corresponds to those shown in Fig. 6 and marks the directions of the slopes, which can be approximated by successive Y updates, where M å is constant. While a reclining line is generated with a constant M, varying values of M are required if the curvature of the contour varies. In Fig. 17, the generated figure is a 16-sided polygon whose slope variations occur at each of the X positions X0 - X7. Thus, the M-value according to the present system is updated so that an approximate curve is obtained, i.e. »T 19 7800499-1 the circle in Fig. 17. Fig. 17 also shows that increasing M, i.e. (M- * M + 1), causes positive curves while decreasing M, ie (M-> M - 1) causes negative curves.
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.If the curvature parameters k were to represent the number of Y updates for each M update, a curve would be obtained but this would not approximate an arc of a circle. For example, if k = 4 and (M ~ vM +1) for every fourth update of Y, (ie Y ~> Y + ¿LY), one would obtain a sequence of straight line segments of the type shown in Fig. 18. which however, is not an approximation of the arc shown in broken lines.
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).To allow better adaptation of polygons to a desired circular arc, a new parameter S is introduced according to the present system, which for a certain curvature K is a function of M and allows updating of M after a variable number of Y updates. This is shown in the table in Fig. 19 in which SN = the number of Y updates to be made for a given M before M is updated S = the number of Y updates after the last M update, and K = 6 (corresponding to ro = 32) .
Tabellen i fig. 19 definieras i enlighet med anpassning av raka rc = 32 enligt fis. 20.The table in Fig. 19 is defined in accordance with the adjustment of straight rc = 32 according to 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.For the coordinates shown and for the somewhat simplified line segment to the circular path presented here, the presentation is initially Y = 0, M = 4 and the sequence according to the table in Fig. 19 becomes: Y ~ 9Y + 0 (6 times, with M = 4 then M- + 5) Y- »Y + 27/64 (12 times, with m = 5 then M -> 6) Y-> Y + 1 (9 times, with M = 6, then M ~> 7) Y-IY = 2 27/64 (5 times) These update functions are shown in full in the table in Fig. 21 and the calculated values given in the table would cause the successively varied incrementally changing Y-coordinates, which approximate the desired curve with the radius rc = _2 as shown in 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.How this calculation is accomplished when M is to be increased or decreased in an M update ring is programmed in a 64-bit read only memory shown in fine. Pl (6 binary inputs correspond to 26 = 64). From memory there is a single output J ”. This read memory would be parallel to 6 Y-dntvrinqnl fi sminnvt in Fig. 12. In view of the corresponding bit pattern for the read memory shown in Fig. Pink QUALITY 7800499-1 20 24 is ¿/ 1: 1 when S = SN at which time S is reset to OOO1 and S are then incrementally increased by OOO1 for as long as = 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 .From the table of the read pattern bit pattern shown in Fig. 24 it is understood that 0f == 1 when the accumulated value of S, in each successive operation, assumes the values SN = 6, 9, 12 and 5 (for M * = 0, 1, 2 respectively 3). Note that ÉLSN = 6 + 12 + 9 + 5 = 32, ie. the desired value 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.C _ The above discussion has only concerned the generation of positive curves rc = 32. The generation of other curves can be achieved by programming possibly a read-only memory for each desired curvature. This would require a large number of memories and should therefore be avoided as it becomes expensive.
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.Instead, one can make AM, AS, and SO (the reset value of S when S = SN) variable as functions of the curvature K. The one in fig; The table shown shows different values for rc for such variations in the values A M, A S and SO. ro = 32 is the base radius as shown in the unit values for Å M, AS and 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.Fig. 26 shows a block diagram of a system with the aid of which the previous curve generating function can be realized. The curvature value K from a CK instruction is fed to a decoding logic 16, which also receives the I / R output signal from the read-only memory 17 (corresponding to the read-only memory in Fig. 23). The logic circuit 16 supplies output signals ¿1M and ¿1S, which are defined according to the table in Fig. 25 as a function of the value K, and these output signals AM and AS are supplied together with the corresponding values of M and S to adders 18 and 19, respectively, of which the latter emits the updated values M + ¿1M and the former emits the values S + ¿lS. The update function of the circuit in Fig. 26 of course assumes that A M = 0 mng fi = O. The updated values M + A M and S + .A S are then fed as input signals to the read memory in fig. 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.Summary The above has described the basics according to which the characters are coded as a function of a limited number of initial parameter numbers, which define one or more flora contour pairs, as well as slopes and vomiting. By means of these parameters, the contours of any desired shape can be coded. Above have also been described the instruction words which are stored in the memory and with the aid of which various calculations are performed for the step fi of any desired character in any style stored in the memory. Furthermore, simplified block diagrams have shown the necessary hardware required to perform the calculations to form the Y coordinate values that constitute control signals for the scan beam in reproducing each character on a cathode ray tube. It will be appreciated that the storage spaces required by the present system are insignificant in comparison with the storage spaces required in the prior art systems, yet the present system is extremely flexible and efficient. As mentioned above, any desired coded font can be stored in memory and the characters or types in this font can be reproduced in any desired point size. The system is easy to adapt to the desired electron beam scanning density in accordance with the scale factors. The calculations are performed simultaneously with the electron beam scan and are completed, taking into account the processing speeds, well in advance of each scan line. Thus, high-speed operation can be achieved very easily since the speed limitation mainly consists of the speed limitation offered by the deflection circuits of the beam itself. It is a given that types of presentation other than cathode ray tubes can also be used.
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.Before the description continues, it should be noted that the character generator according to the invention is only a part of a total character generation and presentation system and that thus the scanning electronics for the cathode ray tube do not form a coherent part of the integrator itself although the cathode ray tube time functions and the like are coordinate - operated with the generator. In addition, the throughput and synchronization of operations is controlled by a mini-computer, which can be purchased on the market.
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.Thus, these components and other similar components in the overall system have not been shown. However, the communication between these units is marked in the present block diagrams.
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.In these block diagrams, the term PACT appears, which is an abbreviation of the term "Profile AlgorithmComputation Technique", which denotes the character of the generator according to the invention.
' 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.The minicomputer receives the input characters to be generated; in any suitably encoded form compatible with the computer, for example from a magnetic tape, perforated tape, tape or the like. Incoming data to the computer indicates the style set to be presented and the point size that the presentation should have. Via a suitable memory or by direct data entry, the computer obtains the information necessary for the line connection of the types in a presented line, character spacing, line spacing and other such 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.Fig. 27 shows a block diagram of a general system, and Fig. 27 shows the main portions of the character generator subsystems, inputs, and outputs. The computer interface unit sends the IORESET to the central processor 26 and In this signal, the central processor 26 activates the entire system. Hereinafter, the central processor26 will be denoted by CPU. The computer interface unit 20 also supplies strobe pulses DS64 and DS65 for introducing vertical and horizontal scale factors (16-bit words are shown as data O-data 15) into the scaling, dash, and video control unit 22, hereinafter referred to as 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.From disk memories or other high capacity memories, the computer also receives data regarding the instruction words according to Fig. 4 for the particular style to be presented and these instruction words are stored in a buffer memory 24. The buffer memory 24 offers fast access for the processing and calculation functions. A start signal transmitted under control from the computer and from the buffer memory 24, which is input to the CPU 26, initiates the calculations for presentation of each character. The instruction order, which has 16 bits, and which is designated pact O-- pact 15, is fed from the buffer memory 24, which is otherwise a so-called pact buffer, to the CPU 26 and the computing and memory unit 28, hereinafter referred to as VCSU, in response to an instruction buffer request sent from the CPU 26, which is hereinafter referred to as 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.A master clock in the scanning electronics 30 provides master clock pulses with the frequency 2 MHz and these are generally fed to the CPU 26 from which the clock pulses are transmitted to other parts of the system. The SSVCU 22 supplies an SVS signal to the scan electronics 30, and this signal is used to start and interrupt each vertical line of the scan beam. The SVS signal is also fed to the CPU to indicate whether a line is being drawn to coordinate the system's (usually) significantly faster calculations for subsequent calculation cycles with the much slower line intervals. The CPU 26 outputs the PFTF to the SSVCU 22 when a dash does not proceed to cause the SSVCU 22 to perform certain insertion and transfer functions, which will be described in more detail below, and to initiate a dash. PFTF further demands that the calculations for the next line have been completed. Thus, coordination is obtained even in the reverse case when it is required that so many calculations must be performed so that the previous drawing has time to end before the calculations for the next drawing have been completed, ie. the cathode ray tube scan must wait. In practice, this situation rarely occurs.
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).One of the transfer functions is to transfer the values of the Y state '.teslïèšåtiåßïi- “t- * e- * i r-d a: v 23 7800499-1 the transition coordinates from the CSU 28 to the SSVCU 22, which is marked with RY7 - RY16. A word of 10 bits is transmitted in this way for each contour in the scan in question. It should be noted in this context that the CPU 26 supplies the signals J1-J4 to the CSU 28 for identification of each contour in the scan as well as the PFF, which is the instruction to the CSU 28 to calculate the parameters for the next contour (keep and one of the two or more contours identified by J1-J4).
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.The calculations of the CSU unit 28 are broken and some of its contour parameters are started in the processing of the instructions Bolp, DY, K, CK, and CM, which are obtained from the CPU 26 and input to the CSU 28. The CPU 26 also performs zeroing and certain timing controls.
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.As will be explained in more detail, the output signal RY3> BY from the CSU 28 to the CPU 26 is used under BOLP instructions to arrange the contour numbers J1-J4 in ascending values of the contours Y coordinates in order to arrange the transmission (RY7 - RY16). from the CSU 28 to the SSVCU 22. The coordinate values arranged in this way are stored in a temporary memory in the SSVCU 22 and a very simple switching on and off function is obtained. As previously mentioned, a controlled clock signal with the frequency 8 MHz is transmitted from the scanning electronics 30, the control function consisting of this signal being transmitted when a vertical dashing begins. The 8 MHz clock activates a counter in the SSVCU, which for a known ramp function for the scanning beam is used to identify the current position of the electron beam in the vertical line drawn by the beam. The calculated value is scaled by the vertical scale factor and when it corresponds to a Y coordinate in the temporary memory in the SSVCU, an ignition signal is emitted. The ignition signal is supplied to a high voltage switching unit 29 to the video unit and this switching unit 29 controls the switching on and off of the cathode ray tube electron beam under each vertical line and thus the drawing of the character. The beam is normally off and on when the position of the beam reaches a first Y-coordinate value, which thus corresponds to the lowest contour of a character. Considering that a contour number is used, a very simple ignition and extinguishing function is obtained by changing the extinguishing / ignition state for each successive Y-coordinate input value from the current prevailing state to the opposite state.
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.Some other signals will now be briefly touched upon. An "S" counter in the SSVCU is set by the horizontal scaling factor and this counter's count content is reduced by one unit for each drill count cycle which is accomplished by the PFFT signal from the CPU 26. When the count content becomes .-, »rq * _ : 1? C) QR'çQläqIdïr n 7800499-1 24 equal to zero, the signal SXZ is transmitted to the CPU 26. The CPU 26 requires SKZ (for S = O) to stop the calculations, to transmit the Y-coordinate n (RY7 - RY16 ) to the SSVCU 22 after the current scan has ended, and initiate a dash. The S-counter function is thus used to relate the strokes to the calculation cycles according to the horizontal scale factor, the CPU 26 comprises an I-counter which receives a clock pulse of 2 MHz from the scanning electronics 30. The I-counter is charged with the number of calculation cycles during which it is currently processed the instruction shall apply. The counter content of the counter is reduced by one unit in the same way as for the S-counter, which is done with the help of 2MHz clocks under the control of PFFT. Thus, the CPU, CSU and SSVCU form the main function blocks in the pact processor. The CPU and CSU also work simultaneously with the SSVCU to calculate the Y coordinates and contour parameters M, K and S as well as to process any pact instructions required for a subsequent bar while the electron beam scans a previous line.
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.The above discussion in connection with Fig. 27 and the described functions in connection therewith becomes clearer if one considers the flow chart in Fig. 27A. First, it is noted that the PACT START function resets the two counters I and_S and sets the system in the state P (a basic state or a return state) from which the system starts performing one of the following operations: 1) Instruction processing (PT) 2) Contour calculation (PFF ) 3) r-coordinate overphase ring (PETF) 4) Waiting for the current drawn line to be completed (PFTT) The block diagram in Fig. 28 shows the CSU 28 in detail. The CSU 28 includes an S-unit 32, a K-unit 34, an M-unit 36 and a Y-unit 38 of which the last three units receive the pact dates 1 - 15 from the buffer unit 24. Each of these units receive clock pulses from the CPU and bits J1-J4, which identify the currently processed or calculated contours of the dc 16 possible contours. A logic unit 39 receives PFF (order to calculate) and instructions BOLP, CM and CK from the CPU 26 as well as the K state signal (which is formed by a CK instruction word). The logic unit 39 transmits SWE, KWE, MWE and YWE to the corresponding units and these signals are instructions that writing must take place in the memories in these units. Note that J1 - J4 are fed to each unit in order to identify the contour for, ~ f Q fi ffvuíü d .. ø-i'ï'r'_lwr 25 7800499-1 which the parameters are being calculated. The various patterns for the data flow and instructions will be discussed below. As mentioned below, the output signals from the CSU 28 are the Y coordinates RY7 - RY16 which are fed to the SSVCU 22. These values are calculated and updated from the M parameters, which are fed to the Y unit. 38 from the M-unit 36 and is marked in the drawing as RM3 - RM8. The M parameter is in turn controlled by the K and S units. These basic blocks will now be described in more detail.
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.In Pig. P7 shows the Y-unit comprising a Y-RAM 40 (RAM = random access memory) and a CDY RAM 42 which each receive Y-coordinate data from instructions obtained from the buffer memory 24. The CDY-RAM unit 42 receives more closely determined the Y increment dates from the CDY instruction while the Y-RAM unit 40 receives the Y coordinate date from either the buffer memory 24 or a latch 46 via a 2-to-1 data selector 44. The latch 46 stores the output Y + A'Y from the 16-bit adder 48 (the updated Y-coordinate value) which will be described in more detail. The selector 44 is controlled by the PFF (cf. Fig. 27A) for passing the Y-value of the latch 46 while the contour parameters are calculated in a certain calculation cycle, and for passing a Y-value from the buffer memory 24 when a new instruction is received.
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.The CDY-RAM unit 42 has been arranged for CDY instruction to allow the generation of long straight sloping lines instead of trying to calculate such lines based on the M-values in a CM instruction.
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.Each of the RAM units 40 and 42 has a capacity that allows storage of 16 words of 16 bits each, which corresponds to 16 contours, which are identified and addressed by the input signals J1-J4 from the CPU 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.The Y unit also includes a programmed ROM 52 (PROM) = programmed read-only memory) which is no longer the A Y (M) values. In a practically executed system, 64 values are stored on Md which correspond to 64_slopes and thus 64 corresponding ¿ÄY ~ values are arranged in the PROM unit 52. The adjacent A'K -nv coding logic circuit 54 provides the must niynífiknntn bitnrnn Aï fl š-AY16 which are not stored in PROM 52 for the purpose of enclosing circuits. An additional 2-to-1 data selector 56 normally selects ¿Ä'Y from ZÄY-PROM 52 and the decoding logic circuit 54 for feeding the adder 48. However, a CDY instruction gives rise to NY from the CPU 26 and the output DYF from RAM 42 which thereby carries the receiver [the output signal from CDY RAM 42 to the adder 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.Finally, the updated Y-value is entered to Y-RAM 40 from which the JPoos QUALITY 7800499-1 26 bits RY7 - RY 16 which control the ignition and increase of the electron beam are fed to the SSVCU 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.A comparator 50 is used during the bypass of the contour numbers in case a new contour transition pair occurs during the period of a BOLP instruction. The comparator 50 is used to compare the existing values of the Y-coordinates (RY) from the RAM unit 40 with the Y-coordinate value (BY) of the new contour, which is to begin in response to the BOLP instruction from the buffer memory 24 and determines, on On the basis of the numerical values of the Y-coordinates, the new contour numbers should be in the sequence of contour numbers.
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.The flow chart shown in Fig. 29A facilitates the understanding of the above. From the instruction "PFF" calculate determine, if DYF is false (0), MSB for M3 - M8: the bits from the M-unit 36 (ie bit 8), whether Y should be increased or decreased by an increment4Û Y.
Biten M8 kan således uppfattas såsom en teckenbit.The bit M8 can thus be perceived as a character bit.
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.The meaning that the bit M8 is either 0 or 1 is understood if Fig. 29B is considered. The figure shows the importance of this when generating positive slopes and curves. Note that the curvature polarity is defined by the seventh curvature bit K7. If K7 = 0, the curvature is negative and M is reduced by the increment AM and if K? = 1 the curvature is positive and M is increased by the increment 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.Fig. 30 shows the M-unit 36 according to Fig. 28. During a calculation; period, while the M parameter addresses the A Y-PROM unit or table (cf. Fig. 29), the actual M-value is updated in the M-unit 36. More specifically, this comprises an M-RAM 60, which stores The M parameter for each existing contour. (Note the addressing input w.J1 - J4). The M parameters are coded slopes for each of the maximum 16 contours. The Mf value, which can be any of 64 possible slopes, includes a word of 8 bits, 6 bits defining the slope values for integers from 0 to 63 while 2 bits define a fraction, namely 0, 1/2, 1/4 or 3 / 4. The bits M3 - M8, which define the integer value, are fed to the Y unit 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.In the same way as in the Y-unit, the M-parameter can be started by means of a pact instruction or the value can be an updated value, which is increased in small steps during a calculation cycle. A 2-to-1 data select number 62 chooses between these inputs, i.e. either from the buffer memory 24 (containing bit positions 2-7 in the CM instruction word according to Fig. 4) or from the update circuit under the control of 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.The update circuit includes an adder 64 of 8 bits and kaj'¿íå? &Ï5É; ￧xï§u fi§ ïBzb __wf 27 7800499-1 an 8-bit latch 66. As already mentioned, the M-value is updated under control from the K and S units. The absolute value of A.M, i.e. ÅAM, with which the M-value is to be modified, is obtained from the K-unit 34. The bit is K7, which contains the 7th bit in the K-parameter, identifies in accordance with the value of this bit, which may be 1 or 0, whether the curvature is positive (and M increases) or negative (and M decreases) as shown in 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.The MZ signal from the logic unit 39 is true for a BOLP instruction and is used to set M to the value 31 3/4 (for which ÄÄY = 0) at the beginning of a contour pair. The meaning of MZ is essentially to clear the selector 62 so that no input signal is input to the M-RAM unit.
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.The conditions for changing M are shown in the flow chart in Fig. 30A. From Figs. 30 and 30A it will be seen that the CPU 20 emits the control signal PFF, which initiates the M calculation. The first choice RKF is whether a mnrkerinus bit in the K-unit indicates that any curvature occurs for a specific contour (J1 - J4) or not. If MN = MN_1, this means that M should not change, ie. that no curvature value has been noted for the contour in question in the K-RAM unit. In the second election according to the second diamond, it is stated whether an addition to M will result in an excess of capacity and if this will occur, M. will not change.
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.The third choice is the primary choice for curved contours, namely whether the SN value stored in the SN table exceeds the S-pnrameter. If the choice turns out to be negative, the logic calls up- 1.m. ~ .i.ng w m and in the last choice, 11k? (the sign bit for the curvature) determines whether an increase or decrease should be performed. If the last election is positive, ie. is true, M remains unchanged.
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.Consider Fig. 30. If an M update occurs, the new value from the adder 64 is stored in the lock unit 66 to be entered via the data selector 62 into the M-RAM unit 60. Fig. 31 is a detailed block system over the K unit 34. The K-RAM unit 70 receives the 7 curvature heaters from the buffer register 24 in accordance with the CK instruction. Since the K-RAM unit is started by means of the pact instruction, which is thus in contrast to the Y and M units, it is clear that the K-value is not updated during calculations. Bits K1, -K2, KS and K6 are fed to a K decoding logic circuit 72 which in turn emits MI. RK? controls the complementation circuit 73 for 1s and outputs III MI to the M-unit 36. Fig. 31A shows a truth table for the K-decoding logic circuit. Note that MI = ZÄ SI = 1 QUALlTY L: 9003 \ 7soo499-1 28 and that A-SF = O for the base radii 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.Bits K3 and K4 identify and select the base radius. Four table lookups for SN corresponding to four base radii are used so that other desired curves can be approximated by scaling ÅÄM and LÄS values within the SN table that is closest to the curve to be coded. The table in Fig. 31B shows SN selections for K3 and K4 and the values on Y (M) | for M + from 0 to 31. (As an extreme case, a single SN table could be used and the desired radii could be calculated by scaling AS and [KM and as an opposite extreme case 64 different SN tables could be used which were each one corresponded to one of the 64 different radii or curves). Note that the data selector 76 is used for an selection function in accordance with K4 for this purpose.
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.The M, K decoding logic circuit 78 controls the reset values S0 of the S parameter as a function of K1, K2, K5 and K6 and a set table for the inputs of this logic circuit is shown in Fig. 310.
I fig. 32 visas ett detaljerat blockschema över S-enheten 32.Fig. 32 shows a detailed block diagram of the S-unit 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.An S-RAM unit comprises a portion 80 with 4 bits for storing the integer value of S and a portion 82 with 4 bits for storing the fractions of S for each of the 16 contours, which are identified by the addresses J1. - J4. The comparator 84 gives the S-unit a key function in that the comparator compares the value of SN from the K-unit 34 with the increasing integer value of S (ie S + ¿3SF) I obtained from the S-RAM unit 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.If the comparator 84 outputs the signal Ar from the adder 86 and ¿lSI from the K unit 34 to the S value input to the adder 88 through the data selector 89. This S value is either So, the content of the S counter having exceeded SN and so is reset to S0, or the current value of (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.The modified value is then fed to the RAM 80 as the updated value. Note that the adder 86 adds the fractional addition ÅÄSF to the stored addition SF from the RAM unit 82 and feeds the sum SF + ¿lSF to the RAM unit 82 for updating.
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).The complementary output of the comparator 84, namely A7'B n1hñ \ ies from the latch circuit So. Thus, when (S + zñSF) I 2 SN, an output signal is output to the calculation logic unit 39 in the CSU unit 28) (cf. 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.As mentioned, when S 2 SN, M will increase or decrease, will MJ mediate in accordance with K? wherein the M-K decoding logic circuit defines a new value of S0 and Y grows during subsequent calculations as a function of the new value of M. Thus, a successive segment of the approximate curve is generated in accordance with the new Y-coordinate transition values.
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.The SSVCU 22 is shown in detail in the block diagram in FIG. 33. The primary components are the horizontal scaling unit 90 and the vertical scaling unit 92, each of which in response to the corresponding strobe pulses DS 65 and DS 64 receives the scaling information from dntaing fl n fi on 0 - 15 from the computer interface unit 20 in the manner previously described.
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.A temporary Y (TY) coordinate memory 94 receives the bits RY7 - RY16 which represent the Y transition coordinates of each of the contours. The Y coordinates are obtained from the CSU unit 28 in ascending numerical order on the order S1 from the CPU 26. The TY memory 94 can store 16 words of 11 bits each, the last bit normally being a zero.
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.The cycle output from the CPU 26 sets the 11th bit to "1" when the last Y transition coordinate is read. This is used to identify the last contour to be processed in a given calculation cycle, which will be explained in more detail.
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.The TY memory 94 is addressed by a TY address counter 96 which is advanced by a TY clock from the scan and video unit 98. Each Y coordinate value read from the TY memory 94 by the address counter 96 is fed to a comparator 100 to perform the comparison. 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.As mentioned, the vertical scaling function allows a character to be generated in any desired point size based on coded character data, which are related to the coordinates of the determined square of size 72 typographic points, i.e. the largest point size. The clock signal supplied to the vertical scaling unit 32 at 8 MHz from the scanning electronics 30 causes a counter present in the vertical scaling unit to increase its count by a value corresponding to the appearance of the character to be presented. If, for example, a 72-point character is to be presented, the counter increases its count by one unit for each incoming clock pulse.
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.If a 4: point sign is to be presented in a corresponding way, the counter shall increase its count by 18 for each clock pulse, ie. the relationship between the presented point size and the coded stan- = ir ~ 1 ~ «is: t;: ~ 1'l« \ 1 <«~ I1. thus, the output signal from the scale unit 92, which output is the coordinate position of the scaled electron beam, is compared in the comparator 100 with the Y transition coordinate read from the TY memory 94. If the comparison results in VYš: TY an output signal is fed to the scanning and video unit 98 which thereby ignites the electron beam which * is controlled by the video coupler 29. As mentioned above, the beam is initially extinguished, so it will thus be lit at the first comparison. Due to the idea of contour pairs, each successive comparison will then cause the beam to switch from my current state to its opposite state, so that the subsequent comparison will cause the beam to go out again.
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.As soon as the scan and video unit 98 receives a comparison signal from the comparator 100, it feeds the TY-CLK to the TY address counter for addressing the TY memory 94 so that it reads out the next_transition coordinate.
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.The eleventh bit stored in the TY memory 94 outputs the output TYF when the last Y coordinate is fed to the comparator 100. When VY ~? TY occurs, this causes the beam to go out for this line. The TY-CEK is reset and the SVU switches the SVS signal to the opposite logic state, which indicates to the CPU 26 that the line has now been completed. The scan electronics 30 ceases with further dashing and prepares itself for the next dashing function. Thus, the scanning electronics are not locked for the electron beam to be scanned in a fixed grid. This feature allows high-speed operation.
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.Details of the horizontal scaling unit 90 are shown in Fig. 34. As already mentioned, non-integral scale factors can be used in the present system. The integer lock unit or register 110 contains the integer part of the horizontal scale factor and the lock unit 112 contains the fraction part, which is obtained from the data inputs from the computer interface unit 20 and inserted into the latch by DS 65. The integer part from latch 110 is introduced into the S-counter 114 by signal S1 during styling from the CPU 26. After each calculation cycle, the CPU 26 outputs PFFP for switching off the S-clock 114 so that it can be decremented by the CLK input signal. When the counter takes the value 0 (utní fl nalcn "MlN"), SXZ is fed to counts until it initiates a new line.
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.The CPU which thereby further inhibits the value in the fraction register 112 is fed to an input A of a 10-bit adder where it is combined with the fraction which is currently stored in the fraction summation register 118. Register 118 zero- Vf-.ff "F ' rim 't I' i ~ i '- “4 - *“ "” l tai-lvl * Q ”31 7800499-1 is initially set to the value 0 by the order CLEAR from the CPU 26. This order also resets S counter 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.When the result of the addition in the adder 116 gives rise to a transfer digit (which would occur, for example, at every fourth addition if the scale factor is 5 1/4), the transfer digit is transmitted to the S-counter 114 by means of the signal S2 from the CPU 26 to thereby increase the counter 114 counter position with 1. This function is of course performed after the S-counter 114 has been preset to the integer part of the horizontal scale factor by means of the insertion instruction S1. V The operations described above in the S-unit thus mean that non-integer horizontal scaling factors can be used. This is very important because you not only get exact scaling to the desired point sizes but can also adapt the system to different scan densities.
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.In Fig. 35, the central processor 26 is shown in detail. The basic components consist of a processor state unit 120, an operation decoding unit 22 and a contour sequence unit 126, hereinafter referred to as OSU. The operation decoding unit 122 receives the first 5 bits of each pact instruction and sends the corresponding instructions to the respective units. Bits 8 to 11 of the instructions containing the contour bits J1 - J4 are fed to the OSU 124, which stores the values of J1 - J4 for the output of the CSU 28. Bits 12 through 15 of these instructions identify the number of calculation cycles for the next instruction and these are fed to the PSU 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.The central processing units in data processing systems are conventional and what these will look like in order for the basic sequence and control functions of the present invention to be performed will be known to any person skilled in the art. Thus, the description of the central processor will be limited to certain essential aspects which are directly related to the processing controls required by the present 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.Pig. 36 shows further details of the processor license unit and also clarifies the various outputs from this. Note that each of the instructions BOLP, EOLP, CK, and CDY are fed to their respective wins R, E, K, and DY and that they ring the system to exit the P state, as does PWPF. The sequence of conditions such as syslomvt vinomlöuvr appears from Flödesdín fi rnmmot in fia. 37 in which the white or BULP infrastructure is shown to form a sequence of sub-states.
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.Of particular interest is the I counter 130 which is preset to ioíea QUALITY. ~ .-., -. 7800499-1 32 the number of calculation cycles which are present in bits 12 through 15 and which in the case of a NOP instruction also lie in bits 8 through 11. The NOP instruction thus repairs the gate 132 so that this gate passes through these additional bits to the I counter. The I-counter thereby reduces its count content by one unit during the last calculation of each successive calculation cycle down to the count position 0, whereby it emits the output signal IXZ, which is mentioned above. Fig. 38 shows the contour sequence unit 124. This comprises two shift registers of 16 bits each, and these shift registers are simultaneously serial-to-parallel converters. The register 140 stores the contour numbers consisting of 4 bits and the register 142 stores in a corresponding position a single bit, which identifies the current contour numbers in the register 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.Among the primary functions to be performed are storage of the contour numbers as they are entered through the BOLP instruction number and elimination of the contours stored previously, which takes place upon receipt of an instruction 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.The unit 124 also organizes the contours in ascending Y-coordinate values. The actual assignment of contour numbers is of course arbitrary and is in the range from 0 to 15 for J1 - J4. After a contour has been assigned a number, however, the parameters for the contour in question are stored in the various memories (ie Y, M, K and S) at addresses defined by the contours resp. contour number 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.Previously described examples of coded characters have shown that as new contour pairs arise or old contour pairs cease, previously unrelated contours can now form a pair.
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.Alternatively, new contours can have coordinate values, which lie between already existing coordinate values and form new pairs. These changes are processed under B and E conditions depending on BOLP and EOLP instructions. Since there is and can not be an orderly sequence according to which the assignment of contour numbers can take place, it is necessary that the contour numbers be stored in accordance with a sequence, which is arranged in accordance with the 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.This requirement has been set to allow the direct comparison function between the vertical scaling and the TY memory readings as discussed in connection with Fig. 33 in connection with controlling the ignition of the beam during the line drawing. The contour sequence unit 24 thus ensures that an correct order number is obtained for the contour numbers with., ._...... _. 33 7800499-1 consideration of the Y-coordinate value for the resp. the contours. Therefore, in a Y-coordinate transfer operation from the CSU to the TY memory in Fig. 33, the Y-frame unit 40 (Fig. 29) is addressed in the Y-unit 38 (a portion of the CSU 28; cf. Fig. 28) by means of the contour numbers J1 - J4 from the CPU 26 in the correct sequence of contour numbers, corresponds to the reading of the Y-coordinate transition values in the required ascending order.
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.In Fig. 2? was shown that the comparison RY, 7 BY was obtained as output from the CPU 26. This is shown in detail in fia. And this signal is fed to the logic unit 126 for further processing.
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.These functions are shown somewhat schematically in Fig. 38. In the figure, the B and E states, which correspond to the BOLP and EOLP instructions, are fed to the logic circuit unit 126 (Fig. 35) together with RY> BY. The unit 125 then emits an output signal to the control unit 150, which is then alerted to whether the Y-coordinate in the BOLP instruction is less than the value of the Y-coordinate which is being read from the memory. In this context, it should be noted that the value of the Y-coordinate being read from the memory is identified by the contour number J1 - J4. This contour number is in each island the output signal J1 - J4 from the data selector 152. This contour number is fed to the CSU 128 to perform the addressing.
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.Contains in registers 140 and 142 circulates continuously under the control of a clock. The register 142, together with the decoding logic 144, identifies the position at each moment of the contour which has the smallest Y coordinate value. This shift register step is identified and inserted into the memory flip-flops 146 when the output of the 8-to-1 data selector 143 indicates that the largest Y coordinate is being addressed and that another shift register step must be selected. The 8-to-1 data selector 141 is thus controlled to read out the at least Y-coordinate contour number to the data selector 152 during the next clock interval.
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.If the Y coordinate value in a BOLP instruction is less than the minimum Y coordinate value identified in this way for the existing contours (ie RY> -BY), the contour number is picked out of the gear ring by the shift register and kept in the control and memory circuit. 152 \ n4 \} orn \ uwnrmw * tor the new contour identified by the BOLP instruction is entered via the unit 52 in the input step to the register 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.Since the BOLP instruction includes two words and two Y-coordinate values corresponding to two contours in a pair, it is clear that, with respect to Fig. 4, according to which the smallest coordinate value is in the first BOLP word and the second BOLP word, that the two SUC0 @ $ 5ïV fl I __ Ä ñ fi ww wijí »gyquusb IJ) 7800499-1 34 corresponding contour numbers of the two Y coordinate values of the two BOLP words are entered sequentially.
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.On the other hand, if the Y coordinate value of the BOLP instruction is greater than the corresponding value of an existing contour, the control and memory unit 152 will continue to circulate the existing contour numbers until the comparison RY> 'BY is obtained.
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.The opposite situation is obtained with the EOLP instruction to the extent that existing contour numbers are to be eliminated from the shift register. This function is easier to accomplish. Fig. 4 shows that the EOLP instruction is coded with the contour number which has the smaller Y-coordinate value in the contour pair to be terminated.
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.Thus, when this contour number is fed from the buffer unit to units 150 and 152 and when a comparison is obtained with the contour number circulating through the register 140, such comparison is identified for controlling the unit 50 and this controls the control unit 152 so that the control unit removes the contour by inhibiting circulation. of this contour number. In addition, the unit 152 now switches from the last output stage 140A to the penultimate output stage 1403, whereby all subsequent contour numbers are advanced one step in the register 140. As a result, all existing contours will be in successive steps in the register 140, allowing efficient action.
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.It will be appreciated that the marker for identifying the current contour number may be entered or removed from the shift register 142 by substantially identical control of the control unit 154, the latter performing substantially parallel operations in the same manner as the control portion of the unit 152. Finally, it should be noted that there are only 8 outputs from each of registers 140 and 142. This is due to the distinctive relationship with contour line pairs. By appropriate timing, these eight parallel outputs can at any time correspond to the lower Y coordinate contour in which case the system per se knows that the next contour in memory is the corresponding higher Y coordinate contour in a pair. This relationship has previously been demonstrated in connection with insertion of the upper Y-coordinate contour into a new pair using the BOLP instruction. With regard to the EOLP instruction, as mentioned above, only the lower Y coordinate contour is coded. Thus, the elimination function performed by the control unit 150 is used to eliminate both the contour for which a comparison is achieved and the next successive contour. Thus, the EOLP instruction in 'rooaršszatrríl 35 needs some other word to identify the higher Y coordinate contour as this would be superfluous.
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.In summary, it can be said that the contour sequence unit 124 is used to maintain a correct sequence of increasing Y-coordinate values. Furthermore, the contour numbers are maintained in consecutive steps in register 140. The selection bits that identify current contours are in register 142. The characteristic of the selection bit and of the decoding logic circuit 140 is that the processing functions can start immediately with the smallest Y-coordinate contour value and continue. current stored contours. The processing is thus not compulsorily limited in terms of time until each register carries out a complete recycling. This saves valuable computation time. In the event that, for example, only one contour pair is registered, the system can immediately identify the position of the contours, process the two contours and then enable it for a further processing function. The remaining fourteen steps for the shift registers thus do not have to be taken into account. In this example, only one-eighth of the processing time is required compared with the situation where all 16 steps in the shift register would need to be examined and processed.
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 iSummary The code technique according to the present invention has first been described above, as well as a very basic form of processing circuits by means of which the coordinates of the character to be generated are calculated. Finally, a fairly complete account has been given of the treatment circuits used in a system operating in practice. Those skilled in the art will appreciate that many modifications and variations of the technique and of the circuits in accordance with the present invention may be made. As an example of such modifications, it is clear that coordinate systems other than rectangular coordinates can be used in connection with the square. Types of presentation systems other than those with rectangular coordinates can also be used. In addition, the coordinate system during coding does not have to be directly related to the scan pattern. For the sake of clarity, however, the particularly intricate newcomer has used a code square with rectangular coordinates as a raster scanning pattern. However, the invention is not limited to such a direct relationship and as examples, which, however, are not intended to limit the invention, other arrangements may include a rectangular code square with a circular scanning pattern or a polar coordinate coding system and either a raster scan or a circular scan for presentation. The technique required to correlate the code system and the resulting calculations for defining the coordinates of the contours in relation to the control of the presentation for any desired scanning pattern, which can be used in connection with the presentation, are apparent to those skilled in the art. Although significant advantages associated with certain applications arise from the use of contours as described in connection with the preferred embodiment of the present invention, it should be noted that the character does not need to be defined by pairs of contours. Instead, a character can be defined by a single contour. This is readily apparent in the case of such characters as, for example, "E", "F", "I", etc. However, if one chooses to use a single contour, the basic coding technique described above still applies. In such a case, the coding would include both increasing and decreasing values of computational cycles, which identify the extent to which a given coded coordinate value or parameter value shall apply calculated from the point where the contour point is defined. In addition, it will be appreciated that even if the character is defined by two or more contours, the idea of relating the contours to each other as pairs may in the first instance also be used to visualize the coding function. It is in fact clear that each contour can be defined separately. In all of the above proposed variations, the underlying idea is that the integrity of a character should be maintained in accordance with the intended use of one or more contours in the resulting coding and in the computational functions set forth in the invention. The various embodiments of the invention described above can be modified and varied in many ways within the scope of the basic idea of the invention. __ * _ ,,, .._..._-- ~ "" *, _ 'WålšÉY' šeïøt s i
Claims (16)
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 (en) | 1978-01-16 |
SE437891B true SE437891B (en) | 1985-03-18 |
Family
ID=27000551
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE7406297A SE420291B (en) | 1973-05-11 | 1974-05-10 | SET TO GENERATE SIGNS |
SE7800499A SE437891B (en) | 1973-05-11 | 1978-01-16 | SIGN GENERATING DEVICE |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE7406297A SE420291B (en) | 1973-05-11 | 1974-05-10 | SET TO GENERATE SIGNS |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPS5914758B2 (en) |
FR (1) | FR2229098B1 (en) |
GB (1) | GB1442544A (en) |
SE (2) | SE420291B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4231096A (en) * | 1978-10-10 | 1980-10-28 | Eltra Corporation | Digital typesetter |
JPS5753783A (en) * | 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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR1496957A (en) * | 1965-10-19 | 1967-10-06 | Western Electric Co | Apparatus and method for transforming digital information into graphic images and for displaying them |
BE791200R (en) * | 1971-11-12 | 1973-03-01 | Western Electric Co | APPARATUS AND METHOD FOR TRANSFORMING DIGITAL INFORMATION INTO GRAPHIC IMAGES AND FOR THE |
-
1974
- 1974-04-16 GB GB1653074A patent/GB1442544A/en not_active Expired
- 1974-05-07 JP JP49051694A patent/JPS5914758B2/en not_active Expired
- 1974-05-10 FR FR7416354A patent/FR2229098B1/fr not_active Expired
- 1974-05-10 SE SE7406297A patent/SE420291B/en not_active IP Right Cessation
-
1978
- 1978-01-16 SE SE7800499A patent/SE437891B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
SE7406297L (en) | 1975-02-03 |
DE2422464A1 (en) | 1974-11-14 |
FR2229098B1 (en) | 1979-09-28 |
GB1442544A (en) | 1976-07-14 |
DE2422464B2 (en) | 1976-02-19 |
SE420291B (en) | 1981-09-28 |
FR2229098A1 (en) | 1974-12-06 |
JPS50111940A (en) | 1975-09-03 |
JPS5914758B2 (en) | 1984-04-05 |
SE7800499L (en) | 1978-01-16 |
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 | |
US4686580A (en) | Method and apparatus for changing image size | |
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 | |
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 | |
JPS61249175A (en) | Graphic processor | |
US4580231A (en) | Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data | |
US5170442A (en) | Character pattern transforming system | |
SE437891B (en) | SIGN GENERATING DEVICE | |
JPS5839474A (en) | Method of reducing redundancy of binary code row in matrix printing system | |
EP0392499A3 (en) | Apparatus for generating high-quality character pattern | |
KR890003320B1 (en) | Text Image Data Processing System | |
GB2038598A (en) | Photocomposition system employing electronic character generation from magnetically stored data | |
US4446491A (en) | Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data | |
KR900005901B1 (en) | Data processes method for character picture | |
EP0105491A2 (en) | Font display and text editing system | |
JPS58174991A (en) | Coding of character | |
JP2539395B2 (en) | Information processing device | |
JPS6133231B2 (en) |
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 |