Accents, accents, accents... enhancing CM fonts with funny characters
|
|
|
- Theodora Hubbard
- 10 years ago
- Views:
Transcription
1 Bogusław Jackowski BOP s.c., Gdańsk, Poland Janusz M. Nowacki Foto-Alfa, Grudziadz, Poland Pracę zgłosił: Andrzej Borzyszkowski Abstract Accented characters play the rôle of enfants terribles in the world of computers. Anybody who has to communicate with another computer system in a language other than English knows that using so called funny characters is not fun at all. Those pesky diacritics A giant step towards putting some order into the chaos was the Unicode standard (ISO/IEC 10646) published ten years ago. Unicode, obviously, does not remove all the problems from the font s playground, and even adds a few specific ones (e.g., the problems with the size of fonts or with the registration of non-standard characters and languages). Nevertheless, one can believe that the world will become a bit better when Unicode turns from the standard de nomine to the standard de facto. TEX with its 8-bit (i.e., 256 characters per font) paradigm is more and more obsolescent and enhancing it by multi-byte character codes seems unavoidable. Such efforts as Ω Project [11], developed by John Plaice and Yannis Haralambous, cannot be overestimated from this point of view. But the typesetting system itself is only one side of the coin. The other is a collection of fonts it uses. Originally, TEX was equipped with Computer Modern family of fonts (CM) which did not contain diacritical characters. Those few TEX users who would need accented letters were supposed to employ the\accent primitive. The immense popularity of TEX in countries that use lots of diacritical characters proved this presumption invalid. At least three reasons can be set forth: (1) accented characters do not behave like normal ones, e.g., they interfere with important TEX algorithms such as hyphenation and insertion of implicit kerns; (2) the CM fonts do not contain all necesary diacritics, e.g., an ogonek accent (used in Polish, Lithuanian, Navaho) is missing; (3) such diacritical elements as cedilla and ogonek, when treated as accents, overlap with a letter, which precludes some applications, e.g., preparing texts for cutting plotters (see figure 1), even if outline fonts are used. The lesson is obvious the CM family should be extended by a variety of diacritical letters. In this paper we would like to present our approach to solving the problem, i.e., the open source family of fonts, Latin Modern (LM), in the PostScript Type 1 format [2], prepared using METAType1, a META- POST-powered package [8] (see section METAType1). We believe that the LM family is a decent alternative to the existing extensions of the CM family we expect it to be a handy collection of fonts for typesetting in latin-based alphabets. The fonts are also equipped with Printer Font Metric files (*.pfm) and therefore can be used as system fonts in various window systems. We plan to release the METAType1 sources of the LM fonts during the 24 th Annual Meeting and Conference of the TeX Users Group, July 20 th 24 th, 2003, Big Island, Hawaii. A gulp of history Needless to say, the lack of diacritical letters in the CM family was recognized almost from the very beginning by TEX users who had to struggle with the languages other than English. Only in 1990, however, during the TUG meeting in Cork, Ireland, did the international TEX community decide that fonts in so called Cork Encoding (EC or, in L A TEX lingo, T1) should be prepared for European TEX users [6]. The work on EC fonts started soon after the Cork meeting. Norbert Schwartz designed a prototype, so called DC fonts. The work was then continued by the team led by Jörg Knappen. The final release of EC fonts was announced in XI Ogólnopolska Konferencja Polskiej Grupy Użytkowników Systemu TEX 3
2 Bogusław Jackowski and Janusz M. Nowacki Figure1: The letter Eogonek from Times New Roman for Windows XP (left), from aer10 (middle), and from lmr10 (right); only the latter form, i.e., having a single outline, is acceptable in professional applications. It was an important achievement. Nevertheless, the Cork Encoding conformed to TEX s 8-bit paradigm and therefore it was not able to comprise all characters occurring in European languages, not to mention other Latin alphabets, such as Vietnamese or Navaho. For a few years, EC fonts were available only in a TEX-specific bitmap form (pk). Nowadays, in the advent of electronic publishing, bitmaps are hardly acceptable. Outline fonts turn out to display much better on a screen (e.g., when used in Portable Document Format, PDF). This inspired Lars Engebretsen who prepared a set of TEX virtual fonts containing basic diacritical characters [4]. The virtual fonts could refer to the excellent outline version of the CM family which had appeared in the meantime. It had been created in 1988 by Blue Sky Research for the American Mathematical Society in PostScript Type 3 format, converted in 1990 by Y&Y into the hinted Type 1 format, and released in 1997 into the public domain by the American Mathematical Society. Engebretsen called his collection AE Almost EC. His virtual fonts suffer, however, from the same limitation as TEX does, i.e., the number of characters is limited to 256; moreover, as we have mentioned, superimposing a diacritical element on a character reveals undesirable features when the character is stroked rather than filled (figure 1). Only recently, automatically traced fonts in PostScript Type 1 format, based on the EC fonts, have been published: Péter Szabó stt2001, Vladimir Volovich s CM-Super (both in 2001; [14] and [15], respectively), and a newfangled Alexey Kryukov s CM-LGC (March, 2003). Note, however, that Szabó courteously recommends the wonderful CM-Super package instead of his own Tt2001. Indeed, Volovich s collection contains much more font variations and covers a broader character set than Szabó s one. Kryukov s collection is, in a way, a supplement to CM-Super. The creation of these packages was possible thanks to a marvellous tool provided by Martin Weber, namely, autotrace [16]. Volovich s accomplishment seems to bring to an end the long-lasting endeavours to introduce diacritical characters into the TEX s realm. Do we really need one more collection of fonts? Another viewpoint Autotraced fonts, in spite of their many advantages, have drawbacks. Objectively, the most important one is perhaps the size of a font. Such fonts are usually larger than similar fonts having carefully designed outlines because of the greater number of nodes. Compare, for example, fairly tidy Volovich s CM-Super fonts with AMS CM and LM: the number of bytes per character is 260, 200, and 135, respectively. Twice is not too much, but in connection with lots of magnifications included (see section Too many font sizes) it makes a difference. Incidentally, the size of the CM-super fonts can be reduced by circa 10 percent by using a subroutine compression module PACKSUBR from METAType1 (actually, it is a short awk script). For us, however, more important are arguments of a rather imponderable nature. We stay firmly by the conception underlying the TEX and METAFONT design: every detail, be it a typesetting or a typeface design, should be controllable and replicable. 4 Bachotek, 1 3 maja 2003
3 This is not the case with autotraced fonts. You must relay, e.g., on the nodes selected by the tracing engine. Volovich admits that FontLab program (very good but commercial) was used for improving the fonts, namely, for hinting and reducing the number of nodes; therefore, the process cannot be easily repeated somewhere else. In other words, there are actually no sources for the CM-Super family. The consequence is thattfm files have to be generated fromafm ones (using, e.g., AFM2TFM program) which adds further uncontrolled factors. For example, one cannot suppress overshoots, i.e., characters o and x will usually have slightly different heights, in disaccordance with the original CM design. Speaking about AFM2TFM converter, please note that it cannot produce mathematical fonts. One has to use METAFONT or METAPOST (or edit manually property lists generated by tftopl or vftovp) in order to exploit such features as charlist or extensible. Ignoring this aspect would mean, in our opinion, the waste of TEX equipment for mathematics. Having said this, we would like to emphasize that we esteem the job Szabó, Volovich, and Kryukov did. Our predilection to another solution may be regarded as a natural, if not advisable, difference of viewpoints. Too many font sizes There is one more issue, related indirectly to the problem of bitmaps versus outlines, namely, the number of font sizes for a given typeface, or more adequately proportions. Donald E. Knuth s idea of having different proportions for different font sizes (5, 6, 7, 8, 9, 10, 12 and 17 points) has no precedent in typography. John Sauter attempted to go even further [13]. He prepared METAFONT programs that interpolate (and even extrapolate) Knuth s font parameters to non-integer font sizes. We can accept Sauters s approach as an interesting experiment, admissible for bitmap fonts. Nevertheless, using it for outline fonts is at least controversial. We believe that, in general, four font proportions would suffice: heading (17 pt), normal (10 pt), script (7 pt), and second order script (5 pt, scriptscript ). Because of the well-established tradition, we cannot refrain from using Knuth s scheme, but we would strongly discourage extending it. For these reasons, we accept with difficulty the enormous number of different sizes/proportions both in EC and CM-Super fonts. This is apparently the inheritance of Knuth s and Sauter s ideas. We would gladly discard most of fourteen alterations of a single typeface (corresponding to font sizes 5, 6, 7, 8, 9, 10, 10.95, 12, 14.4, 17.28, 20.74, 24.88, 29.86, and points). The series proposed by Knuth plus TEXscaled andat operations provide sufficient means to deal with font scaling in most of practical applications. Too few typefaces If anything, completely new typefaces are needed. The number of fonts prepared with METAFONT is surprisingly small compared, e.g., to what is available on the commercial market. Well, not so surprisingly. As we have already mentioned, METAFONT generates TEX-oriented pk bitmap fonts which have not become popular outside the TEX world. In principle, the conversion of pk bitmaps into PostScript Type 1 form is possible, as Szabó and others proved. Which does not mean that looking for alternative tools is impractical. Alternative tools In general, there are two classes of computer tools: visual (interactive) and logical (programmable). Perhaps someday both classes will converge into, say, visual-and-logical tools which will prevail, but at present, no doubt, interactive tools are in vogue. The majority of contemporary visual typographic programs are commercial products. Fortunately, George Williams launched (in 2000) an impressive open source project, PfaEdit [17]. This font editor is already a powerful tool and, being extensively developed, it promises even more, which countervails the grasping market up to a point. An interesting visual tool for generating PostScript Type 1 fonts is also Richard Kinch s MetaFog which enables visual tuning of METAPOST-generated PostScript files [9]. Programming tools are not so popular. Are they to go extinct some day? We hope they will not. It would be a pity, because in some applications programmability is better. Fortunately, there exist people who share our point of view. One of them is Włodek Bzyl who found a plausible application for the logical approach in typography. His amazing colour PostScript Type 3 fonts are no mean challenge for those who use visual tools [3]. Fonts are very complex structures. They are governed by the ample set of interdependent parameters, such as character dimensions, font-specific parameters (italic angle, x-height, typical stems), characteristic shapes (serifs and arcs), not speaking about such technicalities as hints or subroutines. And here an important aspect of programmability enters. By definition, programmable tools require sources in a XI Ogólnopolska Konferencja Polskiej Grupy Użytkowników Systemu TEX 5
4 Bogusław Jackowski and Janusz M. Nowacki lmb10 lmr17 lmss10 lmssq8 lmbo10 lmr5 lmss12 lmssqbx8 lmbx10 lmr6 lmss17 lmssqbo8 lmbx12 lmr7 lmss8 lmssqo8 lmbx5 lmr8 lmss9 lmtcsc10 lmbx6 lmr9 lmssbo10 lmtt10 lmbx7 lmri10 lmssbx10 lmtt12 lmbx8 lmri12 lmssdc10 lmtt8 lmbx9 lmri7 lmssdo10 lmtt9 lmbxo10 lmri8 lmsso10 lmtti10 lmbxi10 lmri9 lmsso12 lmtto10 lmcsc10 lmro10 lmsso17 lmvtt10 lmcsco10 lmro12 lmsso8 lmvtto10 lmr10 lmro8 lmsso8 lmvtto10 lmr12 lmro9 lmsso9 Figure2: The Latin Modern collection of fonts. human-readable text form. A plethora of text processing utilities around (awk, perl, grep, diff) can therefore be employed to crosscheck the consistency of the data describing the font. This can hardly be achieved with purely interactive programs, although it should be noted that some interactive typographic programs have implemented limited programmability. METAType1 We prefer unlimitted programmability. Being provoked by the irksome scarcity of fonts prepared using METAFONT, we contrived another font generating package, METAType1 [8], based on METAPOST, which produces results in the world-wide accepted PostScript Type 1 format. The package makes use of two sets of METAPOST macros (general purpose plain_ex and task-oriented fontbase) and a few other utilities, such as awk (for processing METAPOST output), T1utils (for converting text data into a binary form), and mft (for neat proofing). Originally, METAType1 was developed for DOS; thanks to Włodek Bzyl, it is available also for Linux. Those who are repelled by the sophisticated software and therefore are unwilling to experiment with METAType1 may find Han-Wen Nienhuys s opinion encouraging: METAType1 is a very simplistic approach [10]. One of the first results obtained with METAType1 was Donald E. Knuth s logo font and an electronic replica of a traditional Polish font, Antykwa Półtawskiego [7]. We also used METAType1 for auditing and enhancing selected fonts from the URW++ collection distributed with Ghostscript. In 2002, during the TEX meeting in Bachotek, Poland, the representatives of European TEX users group, having discussed the matters on , came up with a proposal of converting AE virtual fonts into a more universal PostScript Type 1 format and augmenting them with a set of necessary diacritical characters. Thus the opportunity arose to embark METAType1 upon a new, unconventional task. We took up the gauntlet without hesitation. The LM family of fonts or details, details, details... Our intention was to preserve the AE name, as we wanted to emphasize the rôle of Engebretsen s idea in this enterprise. Soon it became clear, however, that the differences would be fundamental and that the change of the name would be necessary in order to avoid a mess. Therefore, we coined the name Latin Modern which is to betoken further development we would like the final version of LM to comprise as many latin-based alphabets as possible, e.g., Vietnamese which regretfully is not included yet. The collection of AE fonts consisted of 50 fonts, reasonably selected from the abundance of Computer Modern. We decided to add a variable-width typewriter font and a few oblique derivatives, arriving finally at 57 fonts (see figure 2). Observe two details: 1. We adopted a more regular (although unorthodox) font naming convention with respect to slant/italic variants: we preserved the 8-character limit but we have used the letter o as a suffix for oblique (slanted) fonts and the letter i as a suffix for truly italic fonts. 6 Bachotek, 1 3 maja 2003
5 2. The LM family contains font lmssqbx8 (i.e., the bold version of lmssq8); a corresponding font occurs neither in CM nor in EC. Actually, the respective AE fonts (aessq8,aessqi8, andaessqb8) refer to the fonts lcmss8 lcmssi8, and lcmssb8. These fonts, added by Pierre A. MacKay, were meant for using with SliTEX. Their regular variants are nearly identical with Knuth s cmssq8 and cmssqi8. The only difference is the capital I (see figure 3). Figure3: The letter I from Knuth s cmssq8 (left) and MacKay s lcmss8 (right). The issue of font names was triggered by the slanted fonts that we decided to add: what the name should we assign to the oblique variant oflmvtt10? The namelmvttsl10 did not conform to the Knuthian 8-character canon, the name lmvtti10 did not tell the truth. Having thought the problem over, we could not find the reason why oblique fonts, i.e., the mechanically skewed ones, received the designator i in some cases (e.g.,cmssi10) and the designator sl in other (e.g.,cmbxsl10), and why the designator appeared either at the end of the kernel of the name, as in the mentioned examples, or in some cases immediately after the prefix cm (cmsltt10, cmitt10). We could either uphold traditional Knuth s terminology (but how then should we call oblique lmvtt10?) or take an opportunity and introduce some regularity in font naming at the risk of commencing an incompatibility mess. We have chosen the latter solution... The issue of an alternative letter I necessitated, besides undertaking a decision whether to introduce it or not (we decided to introduce it as a variant letter), some extra work due to the addition of variant accented characters and a variant ligature IJ. The lmssq* fonts became thus somewhat exceptional. This is usually undesirable but sometimes cannot be avoided. The reader may wonder why to dwell on such trifles? The answer is simple: it was the bulk of details of this kind that made the work on the LM family laborious, although individual tasks were relatively simple. In other words, the problem with details is that each of them, even the tiniest one, has to be handled somehow if the amount of details grows, the job becomes complex. Enumerating all dilemmas, technicalities, subtleties or even puzzles with which we had to struggle is obviously pointless. On the other hand, our work consisted nearly exclusively of details how to describe such a work? Perhaps the best method is to let the reader perceive the scent of the battleground by showing representative examples. Two such examples we have already indicated. The rest of the paper presents a few more of them. From PostScript to METAType1 sources The process of conversion of fonts from PostScript Type 1 form into METAType1 sources is moderately relevant since the potential users of the LM fonts are not expected to repeat this operation any more. The METAType1 sources are legible and can easily be modified, if necessary. We used a stand-alone utility PF2MT1 (belonging to the METAType1 package) for the translation of pfb+afm couples from CM fonts into METAType1 code. The virtual AE fonts provided the necessary information for merging appropriately the results of conversion. awk is a very convenient tool for such operations. Thanks to it, the framework of the LM sources was ready after a few hours; amending the LM sources took a few months. Tuning and augmenting the METAType1 sources of the LM fonts The main part of the job, although the simplest one, was adding accents. METAType1 provides a use_accent operation, similar to the TEX \accent primitive, that can conveniently be used for this purpose. By default, use_accent aligns the centre of an accent with the centre of its accentee and raises the accent by x h, where x is the value of the x-height parameter, and h is the height of the character. This is the procedure that is used by TEX for accenting. Such an algorithm is not always eligible. Occasionally, the position of accent may have to be adjusted. The command use_accent enables an arbitrary shift of both accent and accentee. Moreover, a supplementary parameter can optionally be specified for each character a glyph axis (see figure 4). All in all, adding accented letters was a child s play. Somewhat more difficult was adding extra characters. XI Ogólnopolska Konferencja Polskiej Grupy Użytkowników Systemu TEX 7
6 Bogusław Jackowski and Janusz M. Nowacki Figure4: The optical axis of a glyph does not necessarily coincide with the center of the glyph. Compare the corrected placement of the accent in gcommaaccent (left) with the default one (right). In the AE family, the characters were brought together from a few CM sources. Consider, e.g., aer10: arrow left hook (i.e., faked ogonek), less, and greater characters were taken fromcmmi10; bar, backslash, braceleft, braceright, and section from cmmi10; sterling from cmu10. Some characters were drawn using rules, e.g., visiblespace (missing characters were marked by a rule having width and height equal to 1 / 2 em), and some were assembled from a few components (Aogonek, aogonek, Eogonek, eogonek). We went even further: we borrowed characters asciicircum and asciitilde from cmex10; mu from cmmi10; dagger, daggerdbl, and paragraph from cmsy10. It is debatable whether borrowing characters is acceptable. The section sign from cmsy10 is certainly an alien in a sans serif font. Therefore, characters that seemed to us more important (section, sterling) were programmed from scratch. We used, of course, appropriate parameters from the CM driver files, but we did not follow Knuth s recipe rigorously. This might have been done (see the comments on symbol Euro below). We prefered, however, our shapes of glyphs. This may evoke some compatibility-related issues but, anyway, the full compatibility with CM, EC, and AE fonts cannot be achieved (see section Compatibility issues). Actually, some characters were borrowed not from CM fonts but from their PL counterparts (i.e., CM fonts equipped with Polish diacritical letters; note that the relevant code from the PL fonts was incorporated into the EC fonts). The acute and grave accents over capital and small letters in PL fonts diminutively differ, namely, accents over capital letters are flattened. The same approach we applied in LM fonts (see figure 5) which is consistent with EC and inconsistent with CM fonts. Figure5: There are actually two acute accents in LM fonts: a flattened variant is used for capital letters. This idea was implemented in PL fonts and next in EC ones. Note that, in general, the flattening is neither a slanting nor a rotation. Besides the accented, borrowed and newly programmed characters, a few glyphs had to be programmed as consistently as possible with the CM character set. A notable example is an Euro currency symbol. It looks as though it became so important recently that even Adobe assigned it a name beginning with a capital letter (cf. dollar, yen, sterling, etc., in Adobe Glyph List For New Fonts [1]). We attempted to exploit the METAFONT code for the letter C and it worked (see figure 6). 8 Bachotek, 1 3 maja 2003
7 Figure6: Euro symbols from the LM fonts; observe that an Euro symbol is narrower than the corresponding letter C (above), but that the stem sizes are preserved. Note, however, that there is no slot for an Euro symbol in the Cork Encoding. XI Ogólnopolska Konferencja Polskiej Grupy Użytkowników Systemu TEX 9
8 Bogusław Jackowski and Janusz M. Nowacki The LM fonts contain also a few idiosyncratic symbols. We wanted, e.g., to have a ligature f k in the repertoire of characters (see figure 7) because there are several words in Polish containing the digram fk. They are less numerous than words with digrams fi and fl but more than words with trigrams ffi and ffl (which occur exclusively in words of foreign origin). The electronic Collins English Dictionary retrieved only three words containing the digram fk : Aufklärung (sic), Kafka, Kafkaesque. There are more candidates for nonstandard ligatures, e.g., fb, fh, ffb, and ffh. These groups of letters occur sporadically in English and German (they are absent from Polish). We are not in a position, however, to decide whether introducing the respective ligatures would make sense. Pair of characters Ligature Figure7: There are several words in the Polish language that contain the digram fk ; therefore, we included the ligature f k (top-right) in the LM character set for the sake of consistency with native CM ligatures, such as fl (bottom-right). Compatibility issues The answer to the question whether the LM fonts can serve as a replacement for CM or EC ones is obviously no. First of all, the collection of fonts is different LM is a subset of CM (except lmssqb8 and a few oblique derivatives), not speaking about EC. Therefore, not every text typeset with CM or EC fonts can be re-typeset using LM ones. On the other hand, it should be noted that LM fonts are based on the data taken from CM driver files. Therefore, all relevant dimensions are (or at least should be) the same in LM and CM fonts within the accuracy of rounding errors. It is thus possible to use existing LM fonts as a replacement for CM indvips driver psfonts.map file it suffices to prepare appropriate encoding (*.enc) files. In order to reach this level of compatibility, we had to add two more characters, namely arrowup and arrowdown which, somewhat surprisingly, are present in cmr5, but not in other fonts in the cmr* series. At the moment, we resisted the temptation to include consequently a full quiver of other arrows. The main reason was that arrows are absent from the basic Cork Encoding (they appear only in the Text Companion Encoding see, e.g., the file dcdoc.tex distributed with the EC sources); moreover, PostScript is anyway involved and therefore various transformations can easily be applied, if necessary. In future, however, we may change our opinion. The METAType1 programs for the arrows are based on METAFONT sources excerpted from sym.mf. While adapting the code, we encountered a quandary which is a good example of a seemingly trivial yet embarrassing detail. It turned out, that the arrow programs produce questionable results for certain driver files, namely, sidebars disappear. The arrow programs were perhaps never tested against all driver files. One can live with this, nevertheless, we decided to preserve minimal space at both sides the result is certainly more palatable (see figure 8). Figure8: The METAFONT program for arrows (from sym.mf) would produce glyphs stripped of sidebars for parameters from cmssdc10 (left); arrows in LM fonts always have sidebars (right). 10 Bachotek, 1 3 maja 2003
9 Another quandary of a similar kind is related to accents. For inexplicable reason, the caron accent in CM fonts is lowered in comparison to the remaining accents (see figure 9). We considered it a fault and decided to raise all carons appropriately. We relinquished thus the full compatibility between CM and LM families. Figure9: The caron alias hachek accent (the leftmost box) is slightly lowered in the CM fonts; in the LM fonts, all accents are aligned horizontally. The game of names Among many technicalities related to the representation of PostScript fonts, we would like to comment upon only one the particularly upsetting problem of character names. Gcommaaccent; LATIN CAPITAL LETTER G WITH CEDILLA Kcommaaccent; LATIN CAPITAL LETTER K WITH CEDILLA Lcommaaccent; LATIN CAPITAL LETTER L WITH CEDILLA Ncommaaccent; LATIN CAPITAL LETTER N WITH CEDILLA Rcommaaccent; LATIN CAPITAL LETTER R WITH CEDILLA Scommaaccent; LATIN CAPITAL LETTER S WITH COMMA BELOW gcommaaccent; LATIN SMALL LETTER G WITH CEDILLA kcommaaccent; LATIN SMALL LETTER K WITH CEDILLA lcommaaccent; LATIN SMALL LETTER L WITH CEDILLA ncommaaccent; LATIN SMALL LETTER N WITH CEDILLA rcommaaccent; LATIN SMALL LETTER R WITH CEDILLA scommaaccent; LATIN SMALL LETTER S WITH COMMA BELOW Figure10: An excerpt from the up-to-date Adobe Glyph List For New Fonts [1]. How sweet... There exists a standard of glyph naming worked out by Adobe [1]: Adobe Glyph List 2.0 (of 20 th September 2002) and Adobe Glyph List For New Fonts 1.0 (of 31 st January 2003). Regretfully, the standard contains numerous entries that are at best dubious. We have already jeered at the name of an Euro symbol that singularly begins with a capital letter. But this is nothing. The excerpt from the Adobe Glyph List For New Fonts concerning characters with commaaccent is really astounding (see figure 10). Even more astounding is a part of this story pertaining to Tcedilla and tcedilla: The version 1.1 of Adobe Glyph List mentioned the characters described as T with cedilla and t with cedilla and assigned them names Tcommaaccent and tcommaaccent, respectively; characters that could be described as T with comma below or t with comma below were just ignored. In the version 1.2 of the Adobe Glyph List, the names Tcommaaccent and tcommaaccent were assigned both to characters described as T or t with cedilla and T or t with comma below. The up-to-date Adobe Glyph List For New Fonts says that one of the most recent changes was renaming tcommaaccent to tcedilla and Tcommaaccent to Tcedilla. XI Ogólnopolska Konferencja Polskiej Grupy Użytkowników Systemu TEX 11
10 Bogusław Jackowski and Janusz M. Nowacki To untangle the commaaccent story a little bit, we would like to quote a more reliable opinion from Michael Everson s web site devoted to European alphabets [5]: Concerning Latvian: The [accented] characters g, k, l, n, r, G, K, L, N, and R must always be drawn with a comma below, although these characters are identified in ISO standards as letters with cedilla. Note particularly the reverse comma accent used with the latin small letter g with cedilla. (Cf. figure 4.) Concerning Romanian: Note that Romanian uses the characters s with comma below and t with comma below. In inferior Romanian typography, the glyphs for these characters are sometimes drawn with cedillas, but it is strongly recommended to avoid this practice. There were more pitfalls of this kind, not as ridiculous as the case of the commaaccent, but sufficiently confusing to make this part of the job arduous. Given such a state of the art, we decided to copy some glyphs under different names just in case. We repeated, e.g., the glyphs scommaaccent, tcommaaccent, Scommaaccent, and Tcommaaccent under the names scedilla, tcedilla, Scedilla, and Tcedilla, respectively. Altogether, there are approximately 10 duplicated characters per 400-character font. Note that the duplication of glyphs does not lead to an enormous inflation of the size of font files because of a very efficient subroutine packing mechanism (cf. section Another viewpoint, p. 4). Actually, a duplicated character increases the size of a font by bytes. This means that 10 duplicated characters would increase a font size by less than 1 percent, as the average size of an LM font (pfb) is 60 kb. Beware of your friends The basic tools we used (METAPOST, tftopl, vftovp, awk, T1utils) worked nearly infallibly. Only once we met a truly intricate problem. It was a bug persistently offered by our friend, METAPOST. One of the important operations in the process of font generation is determining the orientation of a path: anticlockwise-oriented paths are used for filling and clockwise-oriented for unfilling. There is a function turningnumber in METAFONT and METAPOST that returns +1 and 1 for anticlockwise-oriented and clockwise-oriented paths, respectively. In METAFONT it works correctly, in METAPOST unfortunately it does not. The bug manifests its presence even in such trivial cases as the following code: path p; p=(0,10)..controls (5,10) and(10,5)..(10,0)..controls (10,-5)and(5,-10)..(0,-10)..controls (-5,-10)and(-10,-5)..(-10,0)..controls (-10,5)and(-5,10)..cycle; This nearly circular 4-node path is evidently clockwise-oriented. Nevertheless, METAPOST maintains that turningnumber p = 0. We did not analyse the METAPOST source code as we were not going to fix the bug, but circumventing it was crucial. The only method that proved to work was the straightening of a path prior to the application of theturningnumber function; in other words, each Bézier segment of a path was changed to a straight line and then the turningnumber function was applied to a modified path. It works so far, although the method is not general (see figure 11) and, moreover, frequently used straightening slows down the process of the generation of fonts. Encodings In olden days, there was a one-to-one correspondence between a font name and the name of a font metric file (tfm). This is not possible any longer. If there are more characters in a font than 256, like in CM-Super or LM, one has to select a subset of characters and to assign codes to every character. Even not knowing the precise results of combinatorial analysis, one may fancy how many such encoding may coexist. It seems that there is no choice metric files must not use the same name as the basic font, otherwise a mess is bound to ensue. One may think of a distinguished (main) encoding that would inherit the basic name, but we would rather equate all encodings. We supplied two encodings in the official distribution of the LM fonts: the Cork Encoding and the QX Encoding. The former does not need explanation. The latter is actually a double encoding, i.e., there is a fixed collection of characters and two numberings one to be used with TEX and one to be used with window systems [12]. The QX Encoding was worked out a few years ago by the members of the Polish TEX Users 12 Bachotek, 1 3 maja 2003
11 Original path Straightened path Figure11: The operation of straightening of a path typically does not change the orientation of a path (top); in general, however, this may happen middle and bottom pictures show how a non-zero turning number can be changed to zero and vice versa. The latter situations, fortunately, are rather unlikely in fonts. Group GUST as a difficult compromise between needs and abilities. In a nutshell: the QX Encoding for TEX is a variant of the Cork Encoding with a few characters exchanged (e.g., gbreve, Gbreve, uring, and Uring are replaced by Lithuanian iogonek, Iogonek, uogonek, and Uogonek, respectively); the QX Encoding for window systems is a variant of the Code Page 1250 (and also includes Lithuanian characters with ogonek). Recall that the complete list of the LM font names is shown in figure 2. The respectivetfm file names are derived by adding the suffix_ec for the Cork Encoding and the suffix_qx for the QX Encoding, e.g., lmr10 with the Cork Encoding has the namelmr10_ec and with the QX Encoding the namelmr10_qx. This protocol is admittedly immature. Nevertheless, we do insist on recommending either this naming scheme or a similar one as a guideline for TEX users as long as TEX is not capable of handling multi-byte character codes, or even longer. Availability The LM fonts are freely available at ftp://bop.eps.gda.pl/pub/lm/. Concluding remarks We would like to emphasize once again that our aim was not only to provide a new family of fonts, but to provide it with METAType1 sources that can be maintained adjusted, augmented, improved, etc. While it is rather difficult to write a font program from scratch, it is pretty simple to modify sources, e.g., as we have mentioned, adding accented letters is straightforward. As concerns our plans regarding the LM family, we would like to enhance fonts: to improve kerning, hinting, and shapes of certain glyphs, to add more accented characters, and, last but not least, to provide OpenType versions of the LM fonts for XP trailblazers. We consider, moreover, converting a few more CM programs from METAFONT to METAType1, as we would like to dismiss eventually the borrowed characters (see section Tuning and augmenting the METAType1 sources..., p. 8). Before bringing the curtain down, we would like to draw the reader s attention to a weak point of our approach: the CM parameterization is lost. The METAType1 sources can be enhanced, but they cannot be used for producing, say, light or condensed versions of sanserif fonts. An experiment with the programming of the Euro symbol and the arrows has showed that converting METAFONT sources to METAType1 ones without loosing the parameterization is, in general, possible but rather time-consuming. It is an open question whether such a venture, being extremely attractive, is reasonable. XI Ogólnopolska Konferencja Polskiej Grupy Użytkowników Systemu TEX 13
12 Bogusław Jackowski and Janusz M. Nowacki Acknowledgements The project was supported by European TEX Users Groups, in particular by the German-speaking TEX Users Group DANTE e.v., the French-speaking TEX Users Group GUTenberg, and the Dutch-speaking TEX Users Group NTG very many thanks. We are also grateful to Volker Schaa and Stefan Sokołowski for their valuable comments concerning the draft version of the paper. References [1] Adobe Solutions Network: Unicode and Glyph Names, unicodegn.html [2] Adobe Type 1 Font Format. Addison-Wesley, 1990, SPEC.PDF [3] Włodzimierz Bzyl, The Tao of Fonts. Proc. of TUG 2002, 4 th 7 th September, 2002, Trivandrum, India (to appear). [4] Lars Engebretsen, AE fonts, [5] Michael Everson, The Alphabets of Europe (ver. 3.0) [6] Michael Ferguson, Report on multilingual activities, TUGboat 11 (4), November 1990, p [7] Bogusław Jackowski, Janusz M. Nowacki, Piotr Strzelczyk, Antykwa Półtawskiego: A Parameterized Outline Font. Proc. of EuroTEX 1999, 20 th 24 th September, 1999, Heidelberg, Germany, pp [8] Bogusław Jackowski, Janusz M. Nowacki, Piotr Strzelczyk, METAType1: A METAPOST-based Engine for Generating Type 1 Fonts. Proc. of EuroTEX 2001, 27 th 27 th September, 2001, Kerkrade, the Netherlands, pp , and [9] Richard J. Kinch, MetaFog: Converting METAFONT Shapes to Contours. TUGboat 16 (3), pp , [10] Han-Wen Nienhuys, MFTrace Scalable Fonts for METAFONT, [11] John Plaice and Yannis Haralambous, Omega System, [12] QX encoding tables for TEX and for window systems, [13] John Sauter, Building Computer Modern Fonts, TUGboat 7 (3), October 1986, p [14] Péter Szabó, TEXtrace, [15] Vladimir Volovich, CM-Super Font Package, ftp://ftp.vsu.ru/pub/tex/font-packs/cm-super/ [16] Martin Weber, Autotrace, [17] George Williams, PfaEdit a PostScript Font Editor, Appendix: The contents of the Latin Modern family of fonts, ver For meticulous readers, we enclose below the complete list of LM glyph names in the alphabetic order. Note that some characters do not occur in all fonts, e.g, there are no f -ligatures in the typewriter fonts. Actually, there are five classes of charsets: 1. The basic class (408 glyphs); this class consists of lmb10, lmbo10, lmbx10, lmbx12, lmbx5, lmbx6, lmbx7, lmbx8, lmbx9, lmbxi10, lmbxo10, lmr10, lmr12, lmr17, lmr5, lmr6, lmr7, lmr8, lmr9, lmri10, lmri12, lmri7, lmri8, lmri9, lmro10, lmro12, lmro8, lmro9, lmss10, lmss12, lmss17, lmss8, lmss9, lmssbo10, lmssbx10, lmssdc10, lmssdo10, lmsso10, lmsso12, lmsso17, lmsso8, lmsso9, lmvtt10, and lmvtto The class ssq (419 glyphs); besides the characters present in the basic class, it contains vari, variacute, varicircumflex, varidieresis, varidotaccent, varigrave, varij, varimacron, variogonek, varitilde, and varivardieresis. The following fonts belong to this family: lmssq8, lmssqbo8, lmssqbx8, and lmssqo8 (cf. also figure 3 and the relevant comments in section The LM family of fonts...). 3. The class typewriter (395 glyphs); the following glyphs are missing in comparison with the basic class: f k, ff, ffi, ffl, fi, fl, Germandbls, IJ, ij, suppress, trademark, varcopyright, and varregistered. The class consists of lmtt10, lmtt12, lmtt8, lmtt9, lmtti10, and lmtto The class containing only lmcsc10 and lmcsco10 (400 glyphs); the following glyphs are missing in comparison with the basic class: dquoteright, f k, ff, ffi, ffl, fi, fl, and tquoteright. 5. The class containing onlylmtcsc10 (393 glyphs); the set of missing character is as in class 3 plus dquoteright and tquoteright. The alphabetic list of glyphs in the Latin Modern family A, a, Aacute, aacute, Abreve, abreve, Acircumflex, acircumflex, Acute, acute, Adieresis, adieresis, AE, ae, Agrave, agrave, Amacron, amacron, ampersand, anglearc, Aogonek, aogonek, Aring, aring, arrowdown, arrowup, asciicircum, asciitilde, asterisk, at, Atilde, atilde, Avardieresis, avardieresis, B, 14 Bachotek, 1 3 maja 2003
13 b, backslash, bar, braceleft, braceright, bracketleft, bracketright, breve, bullet, C, c, Cacute, cacute, caron, Ccaron, ccaron, Ccedilla, ccedilla, Ccircumflex, ccircumflex, Cdotaccent, cdotaccent, cedilla, cent, circumflex, colon, comma, commaaccent, compoundwordmark, copyright, currency, D, d, dagger, daggerdbl, dbar, Dcaron, dcaron, Dcroat, dcroat, degree, Delta, diameter, dieresis, divide, dmacron, dollar, dotaccent, dotlessi, dotlessj, dquoteright, E, e, Eacute, eacute, Ebreve, ebreve, Ecaron, ecaron, Ecircumflex, ecircumflex, Edieresis, edieresis, Edotaccent, edotaccent, Egrave, egrave, eight, ellipsis, Emacron, emacron, emdash, endash, Eng, eng, Eogonek, eogonek, equal, Eth, eth, Euro, euro, Evardieresis, evardieresis, exclam, exclamdown, F, f, f k, ff, ffi, ffl, fi, five, fl, four, G, g, Gacute, gacute, Gamma, Gbreve, gbreve, Gcaron, gcaron, Gcedilla, Gcircumflex, gcircumflex, Gcommaaccent, gcommaaccent, Gdotaccent, gdotaccent, Germandbls, germandbls, Grave, grave, greater, guillemotleft, guillemotright, guilsinglleft, guilsinglright, H, h, Hbar, hbar, Hcircumflex, hcircumflex, hungarumlaut, hyphen, I, i, Iacute, iacute, Icircumflex, icircumflex, Idieresis, idieresis, Idotaccent, Igrave, igrave, IJ, ij, Imacron, imacron, Iogonek, iogonek, Itilde, itilde, Ivardieresis, ivardieresis, J, j, Jcircumflex, jcircumflex, K, k, Kcedilla, kcedilla, Kcommaaccent, kcommaaccent, L, l, Lacute, lacute, Lambda, Lcaron, lcaron, Lcedilla, lcedilla, Lcommaaccent, lcommaaccent, Ldotaccent, ldotaccent, less, Lquoteright, lquoteright, Lslash, lslash, M, m, macron, minus, mu, multiply, N, n, Nacute, nacute, nbspace, Ncaron, ncaron, Ncedilla, ncedilla, Ncommaaccent, ncommaaccent, nine, Ntilde, ntilde, numbersign, O, o, Oacute, oacute, Obreve, obreve, Ocircumflex, ocircumflex, Odieresis, odieresis, OE, oe, ogonek, Ograve, ograve, Ohungarumlaut, ohungarumlaut, Omacron, omacron, Omega, one, Oogonek, oogonek, Oslash, oslash, Otilde, otilde, Ovardieresis, ovardieresis, P, p, paragraph, parenleft, parenright, percent, period, periodcentered, perthousand, Phi, Pi, plus, plusminus, Psi, Q, q, question, questiondown, quotedbl, quotedblbase, quotedblleft, quotedblright, quoteleft, quoteright, quotesinglbase, quotesingle, R, r, Racute, racute, Rcaron, rcaron, Rcedilla, rcedilla, Rcommaaccent, rcommaaccent, registered, ring, S, s, Sacute, sacute, Scaron, scaron, Scedilla, scedilla, Scircumflex, scircumflex, Scommaaccent, scommaaccent, section, semicolon, seven, Sigma, six, slash, space, sterling, suppress, T, t, Tcaron, tcaron, Tcedilla, tcedilla, Tcommaaccent, tcommaaccent, Theta, Thorn, thorn, three, tilde, tquoteright, trademark, two, U, u, Uacute, uacute, Ubreve, ubreve, Ucircumflex, ucircumflex, Udieresis, udieresis, Ugrave, ugrave, Uhungarumlaut, uhungarumlaut, Umacron, umacron, underscore, Uogonek, uogonek, Upsilon, Uring, uring, Utilde, utilde, Uvardieresis, uvardieresis, V, v, varcopyright, vardieresis, vardotaccent, vari, variacute, varicircumflex, varidieresis, varidotaccent, varigrave, varij, varimacron, variogonek, varitilde, varivardieresis, varregistered, visiblespace, W, w, Wacute, wacute, Wcircumflex, wcircumflex, Wdieresis, wdieresis, Wgrave, wgrave, Wvardieresis, wvardieresis, X, x, Xi, Y, y, Yacute, yacute, Ycircumflex, ycircumflex, Ydieresis, ydieresis, Yen, Ygrave, ygrave, Yvardieresis, yvardieresis, Z, z, Zacute, zacute, Zcaron, zcaron, Zdotaccent, zdotaccent, zero. XI Ogólnopolska Konferencja Polskiej Grupy Użytkowników Systemu TEX 15
HTML Codes - Characters and symbols
ASCII Codes HTML Codes Conversion References Control Characters English version Versión español Click here to add this link to your favorites. HTML Codes - Characters and symbols Standard ASCII set, HTML
The ogonek package. Janusz Stanisław Bień 94/12/21
The ogonek package Janusz Stanisław Bień 94/12/21 Abstract This L A TEX 2ε package provides a command to typeset letters with the ogonek diacritic mark; they are used in Polish and Lithuanian. The command
Antykwa Toruńska. ver. 2.03. Type designer: Zygfryd Gardzielewski, Toruń, Poland. Font author: Janusz Marian Nowacki, Grudziądz, Poland.
The Polish TEXUsersGroup, GUST, supports initiatives leading to digitization of Polish traditional fonts. GUST also supports polonization of popular fonts published under GNU or GNU-like licences. The
ASCII control characters (character code 0-31)
ASCII control characters (character code 0-31) DEC HEX 0 00 NUL Null char 1 01 SOH Start of Heading 2 02 STX Start of Text 3 03 ETX End of Text 4 04 EOT End of Transmission
How to make more than one math OpenType font
How to make more than one math OpenType font or the Beasts of Fonts Bachotek 29 IV 3V2011 Bogusław Jackowski and Piotr Strzelczyk It is widely known, that fonts are nasty beasts It is widely known, that
Chart of ASCII Codes for SEVIS Name Fields
³ Chart of ASCII Codes for SEVIS Name Fields Codes 1 31 are not used ASCII Code Symbol Explanation Last/Primary, First/Given, and Middle Names Suffix Passport Name Preferred Name Preferred Mapping Name
Windows - Alt Key Numeric Codes
Page 1 of 7 Teaching and Learning with Technology TLT Home : TLT Suggestions HOME BY LANGUAGE BASICS ACCENTS WEB DEVEL GLOSSARY SITE MAP LOCATION: Accents» Windows» Alt Key Numeric Codes Windows - Alt
When older typesetting methods gave
Typographic Terms When older typesetting methods gave way to electronic publishing, certain traditional terms got carried along. Today we use a mix of old and new terminology to describe typography. Alignment
Latin Alphabet special characters in Microsoft Word Article by: Stélios C. Alvarez 08
1 Latin Alphabet special characters in Microsoft Word Article by: Stélios C. Alvarez 08 For the purpose of this article, only accented letters and special characters from the Albanian, Basque, Bosnian,
ASCII CODES WITH GREEK CHARACTERS
ASCII CODES WITH GREEK CHARACTERS Dec Hex Char Description 0 0 NUL (Null) 1 1 SOH (Start of Header) 2 2 STX (Start of Text) 3 3 ETX (End of Text) 4 4 EOT (End of Transmission) 5 5 ENQ (Enquiry) 6 6 ACK
D'Nealian manuscript handwriting practice worksheets.
D'Nealian manuscript handwriting practice worksheets. D'Nealian* Handwriting Font Style * D'Nealian is a registered trademark of Scott Foresman - Addison Wesley Publishing Company. "DN Kid Letters" web
TABLE OF CONTENTS. www.xwireless.net Page 2
TABLE OF CONTENTS 1. INRODUCTION 2 1.1 Features.2 2. STANDARD VIEW.3 3. HOW TO LOGIN..4 4. PASSWORD RECOVERY 4 5. PROFILE 7 6. PASSWORD UPDATE 8 7. COMPOSE SMS..9 7.1 SEND EASY SMS 10 7.2 SEND GROUP SMS..10
New in Quark 7 is the Glyphs palette, a feature added
1 Accents & special characters Accessing font glyphs Font formats Glyphs palette New in Quark 7 is the Glyphs palette, a feature added to allow access to the greatly expanded character sets of OpenType.
Encoding Text with a Small Alphabet
Chapter 2 Encoding Text with a Small Alphabet Given the nature of the Internet, we can break the process of understanding how information is transmitted into two components. First, we have to figure out
Bogusław Jackowski and Janusz Marian Nowacki
Bogusław Jackowski and Janusz Marian Nowacki Bogusław Jackowski (left photo) and Janusz Marian Nowacki (right) have made and continue to make many important contributions in the world of TEX fonts. [Interview
Preservation Handbook
Preservation Handbook Plain text Author Version 2 Date 17.08.05 Change History Martin Wynne and Stuart Yeates Written by MW 2004. Revised by SY May 2005. Revised by MW August 2005. Page 1 of 7 File: presplaintext_d2.doc
VFComb 1.3 the program which simplifies the virtual font management
A.S. Berdnikov Institute of Analytical Instrumentation Rizsky pr. 26, 198103 St.Petersburg, Russia [email protected] S.B. Turtia Institute of Analytical Instrumentation Rizsky pr. 26, 198103 St.Petersburg,
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding
Internationalizing the Domain Name System. Šimon Hochla, Anisa Azis, Fara Nabilla
Internationalizing the Domain Name System Šimon Hochla, Anisa Azis, Fara Nabilla Internationalize Internet Master in Innovation and Research in Informatics problematic of using non-ascii characters ease
ASCII Character Set and Numeric Values The American Standard Code for Information Interchange
acter Set and The American Standard Code for Information Interchange US, ANSI X3.4-1986 (ISO 646 International Reference Version) Codes 0 through 31 and 127 (decimal) are unprintable control characters.
Adjunct Assistant Professor Gayle Rembold Furbert. Typography II. County College of Morris Graphic Design Degree Program
Adjunct Assistant Professor Gayle Rembold Furbert Typography II County College of Morris Graphic Design Degree Program Voice of Type As you look at typefaces, analyze their forms, learn their history and
L A TEX in a Nutshell
L A in a Nutshell Master on Libre Software 2011-12 Miguel Vidal http://gsyc.urjc.es/~mvidal Twitter: @mvidallopez September 22, 2011 1 / 48 Miguel Vidal LA in a Nutshell (cc) 2011 Miguel Vidal This work
ELFRING FONTS INC. MICR FONTS FOR WINDOWS
ELFRING FONTS INC. MICR FONTS FOR WINDOWS This package contains ten MICR fonts (also known as E-13B) used to print the magnetic encoding lines on checks, and eight Secure Fonts for use in printing check
Good Practice Guidelines for Risk Management of Software-based Systems
LYPHID ID= 116 NAME= IACUTE /> ID= 293 NAME= UDBLACUTE /> FII10084 /> ID= 443 NAME= NCEDILLA /> ID= 452 NAME= RCEDILLA /> ID= 117 NAME= IGRAVE /> ID= 294 NAME= UDBLACUTE /> FII10085 /> GLYPHID ID= 444
fonts: tutorial How to install a Type1 Font using fontinst
How to install a Type1 Font using fontinst abstract In this brief tutorial I will describe how a postscript Type 1 font can be made available to TEX using the fontinst-utility (version 1.8). I will not
Frequently Asked Questions on character sets and languages in MT and MX free format fields
Frequently Asked Questions on character sets and languages in MT and MX free format fields Version Final 17 January 2008 Preface The Frequently Asked Questions (FAQs) on character sets and languages that
Inflation. Chapter 8. 8.1 Money Supply and Demand
Chapter 8 Inflation This chapter examines the causes and consequences of inflation. Sections 8.1 and 8.2 relate inflation to money supply and demand. Although the presentation differs somewhat from that
Human-Readable BPMN Diagrams
Human-Readable BPMN Diagrams Refactoring OMG s E-Mail Voting Example Thomas Allweyer V 1.1 1 The E-Mail Voting Process Model The Object Management Group (OMG) has published a useful non-normative document
Book Typography Checklist
Please note that this list has been compiled with Adobe Minion Pro in mind, and based on my own typographic preferences and tastes. It is not meant as a list of hard rules. Each designer/typographer/typesetter
A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts
[Mechanical Translation, vol.5, no.1, July 1958; pp. 25-41] A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts A notational
Applications. Decode/ Encode ... Meta- Data. Data. Shares. Multi-read/ Multi-write. Intermediary Software ... Storage Nodes
ËÐØÒ Ø ÊØ Ø ØÖÙØÓÒ ËÑ ÓÖ ËÙÖÚÚÐ ËØÓÖ ËÝ ØÑ ÂÝ Âº ÏÝÐ ÅÑØ ÐÓÐÙ ÎÝ ÈÒÙÖÒÒ ÅРϺ Ö ËÑ ÇÙÞ ÃÒ ÌÛ ÓÖÝ ÏÐÐÑ ÖÓÖÝ Êº ÒÖ ÈÖÔ Ãº ÃÓ Ð ÅÝ ¾¼¼½ Å͹˹¼½¹½¾¼ ËÓÓÐ Ó ÓÑÔÙØÖ ËÒ ÖÒ ÅÐÐÓÒ ÍÒÚÖ ØÝ ÈØØ ÙÖ È ½¾½ ØÖØ ËÙÖÚÚÐ
Advanced Tutorials. Numeric Data In SAS : Guidelines for Storage and Display Paul Gorrell, Social & Scientific Systems, Inc., Silver Spring, MD
Numeric Data In SAS : Guidelines for Storage and Display Paul Gorrell, Social & Scientific Systems, Inc., Silver Spring, MD ABSTRACT Understanding how SAS stores and displays numeric data is essential
The Unicode Standard Version 8.0 Core Specification
The Unicode Standard Version 8.0 Core Specification To learn about the latest version of the Unicode Standard, see http://www.unicode.org/versions/latest/. Many of the designations used by manufacturers
BCCC Library. 2. Spacing-. Click the Home tab and then click the little arrow in the Paragraph group.
Using Microsoft Word 2010 to Write a Turabian Paper The best source for writing research papers is the A Manual for Writers of Research Papers, Theses, and Dissertations (Eighth Edition). A copy is available
How To Write A Domain Name In Unix (Unicode) On A Pc Or Mac (Windows) On An Ipo (Windows 7) On Pc Or Ipo 8.5 (Windows 8) On Your Pc Or Pc (Windows
IDN TECHNICAL SPECIFICATION February 3rd, 2012 1 IDN technical specifications - Version 1.0 - February 3rd, 2012 IDN TECHNICAL SPECIFICATION February 3rd, 2012 2 Table of content 1. Foreword...3 1.1. Reference
ISO/IEC JTC1 SC2/WG2 N4399
ISO/IEC JTC1 SC2/WG2 N4399 Universal Multiple-Octet Coded Character Set International Organization for Standardization Organisation Internationale de rmalisation Международная организация по стандартизации
(a) Hidden Terminal Problem. (b) Direct Interference. (c) Self Interference
ØÖ ÙØ ÝÒ Ñ ÒÒ Ð Ë ÙÐ Ò ÓÖ ÀÓ Æ ØÛÓÖ ½ Ä ÙÒ Ó Ò ÂºÂº Ö ¹ÄÙÒ ¹ Ú Ë ÓÓÐ Ó Ò Ò Ö Ò ÍÒ Ú Ö ØÝ Ó Ð ÓÖÒ Ë ÒØ ÖÙÞ ¼ ¹Ñ Ð ÓÐ Ó ºÙ º Ù Î Ö ÓÒ ¼»½»¾¼¼¾ Ì Ö ØÝÔ Ó ÓÐÐ ÓÒ¹ Ö ÒÒ Ð ÔÖÓØÓÓÐ ÓÖ Ó Ò ØÛÓÖ Ö ÔÖ ÒØ º Ì ÔÖÓØÓÓÐ
The ASCII Character Set
The ASCII Character Set The American Standard Code for Information Interchange or ASCII assigns values between 0 and 255 for upper and lower case letters, numeric digits, punctuation marks and other symbols.
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas Payoff Configuration management (CM) helps an organization maintain an inventory of its software assets. In traditional CM systems,
Encoding script-specific writing rules based on the Unicode character set
Encoding script-specific writing rules based on the Unicode character set Malek Boualem, Mark Leisher, Bill Ogden Computing Research Laboratory (CRL), New Mexico State University, Box 30001, Dept 3CRL,
The gensymb package for L A TEX 2ε
The gensymb package for L A TEX 2ε Walter Schmidt (v1.0 2003/07/02) 1 The problem Typesetting units of measurement with L A TEX is sometimes difficult. Why? For instance, most (but no all) typefaces have
Office of Research and Graduate Studies
Office of Research and Graduate Studies Duncan Hayse, MA, MFA Coordinator Theses, Doctoral Projects, and Dissertations CONTACT: http://www.uiw.edu/orgs/writing/index.html [email protected] APA review for
Fonts for Displaying Program Code in L A TEX
Fonts for Displaying Program Code in L A TEX Adrian P. Robson nepsweb.co.uk 8 October 2012 1 Introduction Here we look at fonts for printing program code in L A TEX documents. Suitable fonts are monospaced;
Authority file comparison rules Introduction
Authority file comparison rules Revised 2007-01-11; further revised 2009-04-01 (noted with red text) Note: This report was accepted and approved by the PCC Policy Committee in November 2007. Introduction
Formatting Text in Microsoft Word
Formatting Text - 1 of 44 Formatting Text in Microsoft Word Page Setup 2 Centering Text 3 Line Spacing 4 Paragraph Spacing 4 Indenting a Paragraph s First Line 5 Hanging Indentation 5 Indenting an Entire
Levels 1 and 2 Desktop Publishing (8983)
Levels 1 and 2 Desktop Publishing (8983) Examination Support Guide 100/4890/X Level 1 100/4891/1 Level 2 www.cityandguilds.com December 2007 Version 2.0 About City & Guilds City & Guilds is the UK s leading
Symbols in subject lines. An in-depth look at symbols
An in-depth look at symbols What is the advantage of using symbols in subject lines? The age of personal emails has changed significantly due to the social media boom, and instead, people are receving
Programming PostScript Type 1 Fonts Using METATYPE1: Auditing, Enhancing, Creating
Programming PostScript Type 1 Fonts Using METATYPE1: Auditing, Enhancing, Creating Bogusław Jackowski ul. Tatrzańska 6 m. 1, 80-331 Gdańsk, Poland [email protected] Janusz M. Nowacki ul. Śniadeckich
ÔØÖ ÄÒÖ Ç ÐÐØÓÖ ß ÇÒ Ö Ó ÖÓÑ º½ ÇÚÖÚÛ ÏØ Ó Ø ØÒ Ú Ò ÓÑÑÓÒ ÔÖÓÔØÓÒ Ó Ñ ÛÚ ÒÖØ Ý ÖØ¹ ÕÙ ÖÑÓØ ØØÓÒ Ó ÓÑÔÐÜ ÑÓÐÙÐ Ú ÒÖÖ ÔØÖ Ø ÐØÖ Ò ÑÒØ Ð Ò ÑÖÓÛÚ ÚØÝ Ò ÖÒØÖ ÐÓ Ì ÙÑÐ ÑÔÐ ÖÑÓÒ Ó Ð¹ ÐØÓÖ ÔÐÝ ØÖÖÒ ÖÓÐ Ò Ø ÙÒÖ
EURESCOM - P923 (Babelweb) PIR.3.1
Multilingual text processing difficulties Malek Boualem, Jérôme Vinesse CNET, 1. Introduction Users of more and more applications now require multilingual text processing tools, including word processors,
ÕÙ ØÝ ÌÖ Ò Ý ÁÒ Ø ØÙØ ÓÒ Ð ÁÒÚ ØÓÖ ÌÓ ÖÓ ÓÖ ÆÓØ ØÓ ÖÓ Ì Ó Ø ÆÓÖÛ Ò È ØÖÓÐ ÙÑ ÙÒ º Ê Ò Æ ÆÓÖ Ò ÖÒØ ÖÒ Ö ÆÓÖ Ò Ò ÆÓÖÛ Ò Ë ÓÓÐ Ó Å Ò Ñ ÒØ ½ Â ÒÙ ÖÝ ¾¼¼¼ ØÖ Ø Ì Ó Ø ØÓ Ò Ø ØÙØ ÓÒ Ð ÒÚ ØÓÖ Ó ØÖ Ò ÕÙ ØÝ Ö Ó
What s New in QuarkXPress 8
What s New in QuarkXPress 8 LEGAL NOTICES 2008 Quark Inc. as to the content and arrangement of this material. All rights reserved. 1986 2008 Quark Inc. and its licensors as to the technology. All rights
Guide To Creating Academic Posters Using Microsoft PowerPoint 2010
Guide To Creating Academic Posters Using Microsoft PowerPoint 2010 INFORMATION SERVICES Version 3.0 July 2011 Table of Contents Section 1 - Introduction... 1 Section 2 - Initial Preparation... 2 2.1 Overall
PDF Primer PDF. White Paper
White Paper PDF Primer PDF What is PDF and what is it good for? How does PDF manage content? How is a PDF file structured? What are its capabilities? What are its limitations? Version: 1.0 Date: October
The Trip Scheduling Problem
The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems
CXQuotes Doors and Windows Quotation software. Cogitrix
CXQuotes Doors and Windows Quotation software Cogitrix Table of content TABLE OF CONTENT... 2 TABLES OF PICTURES... 6 SOFTWARE FEATURES... 7 QUICK...7 REDUCING ERRORS...7 PRINT QUALITY...7 PRICES COMPARISON...7
New in Quark 7 is the Glyphs palette, a feature added
1 Accents & special characters Accessing font glyphs Font formats Glyphs palette TIP Note the magnifying icons at the upper right of the Glyphs palette for resizing glyphs so you don t go blind searching
How to create OpenDocument URL s with SAP BusinessObjects BI 4.0
How to create OpenDocument URL s with SAP BusinessObjects BI 4.0 Creator: Twitter: Blog: Pieter Verstraeten http://www.twitter.com/pverstraeten http://www.pieterverstraeten.com/blog Hi, Thanks for downloading
Creating Interactive PDF Forms
Creating Interactive PDF Forms Using Adobe Acrobat X Pro Information Technology Services Outreach and Distance Learning Technologies Copyright 2012 KSU Department of Information Technology Services This
The Fourier Analysis Tool in Microsoft Excel
The Fourier Analysis Tool in Microsoft Excel Douglas A. Kerr Issue March 4, 2009 ABSTRACT AD ITRODUCTIO The spreadsheet application Microsoft Excel includes a tool that will calculate the discrete Fourier
ELFRING FONTS UPC BAR CODES
ELFRING FONTS UPC BAR CODES This package includes five UPC-A and five UPC-E bar code fonts in both TrueType and PostScript formats, a Windows utility, BarUPC, which helps you make bar codes, and Visual
Ë ÓÒ Ð ØÝ Ò Ö ÙÐØÙÖ Ð ÓÑÑÓ ØÝ ÙØÙÖ Ö Ø Ò Ë Ö Ò Ò Ô ÖØÑ ÒØ Ó Ò Ò ÓÔ Ò Ò Ù Ò Ë ÓÓÐ ÊÓ Ò ÖÒ ÐÐ ½ ù½ ¼ Ö Ö Ö ÒÑ Ö Ì Ä ½ ½ ½ ¼¼ ¹Ñ Ð Óº º Ñ Ö ½ Ì ÙØ ÓÖ Ø Ò ÓÖ ÐÔ ÙÐ Ø Ò ÖÓÑ Â Ô Ö ĐÙÐÓÛ Ò ÓÑÑ ÒØ Ò Ù Ø ÓÒ ÖÓÑ
Mathematical Induction
Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,
ÆÏ ÈÈÊÇÀ ÌÇ Ëµ ÁÆÎÆÌÇÊ ËËÌÅË ÂÒ¹ÉÒ ÀÙ ÅÒÙØÙÖÒ ÒÒÖÒ Ó ØÓÒ ÍÒÚÖ ØÝ ËÓÖ ÆÒÒÙÙÐ Ý Ò Ï¹Ó ÓÒ Ý ÐØÖÐ Ò ÓÑÔÙØÖ ÒÒÖÒ ÍÒÚÖ ØÝ Ó Å Ù ØØ ÑÖ Ø ÖÙÖÝ ØÖØ ÁÒ Ø ÔÔÖ Û ÓÒ Ö ÔÖÓ ÖÚÛ Ëµ ÒÚÒØÓÖÝ Ý ØÑ ÛØ ÒÔÒÒØ Ò ÒØÐÐÝ ØÖÙØ
An Introduction to the WEB Style of Literate Programming
An Introduction to the WEB Style of Literate Programming Literate Programming by Bart Childs One of the greatest needs in computing is the reduction of the cost of maintenance of codes. Maintenance programmers
1. Manuscript Formatting
1. Manuscript Formatting 1.0 PLAIN, UNIFORM TEXT We ask that you submit your manuscript files as plain and uniform text. Nonessential or incorrect formatting will be removed from the manuscript before
1 Using CWEB with Microsoft Visual C++ CWEB INTRODUCTION 1
1 Using CWEB with Microsoft Visual C++ CWEB INTRODUCTION 1 1. CWEB Introduction. The literate programming technique is described by Donald Knuth in Literate Programming and The CWEB System for Structured
Creating Custom Crystal Reports Tutorial
Creating Custom Crystal Reports Tutorial 020812 2012 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any means, electronic, or mechanical,
Downloaded from SPIE Digital Library on 29 Aug 2011 to 128.196.210.138. Terms of Use: http://spiedl.org/terms
ÔØ Ú ÓÒ ÖÝ Ñ ÖÖÓÖ ÓÖ Ø Ä Ö ÒÓÙÐ Ö Ì Ð ÓÔ º Ê Ö º Ö٠Ⱥ Ë Ð Ò Ö º ÐÐ Ò Êº ź Ò Ö ØØÓÒ ÀºÅº Å ÖØ Ò Ç ÖÚ ØÓÖ Ó ØÖÓ Ó Ö ØÖ Ä Ö Ó º ÖÑ ¼½¾ Ö ÒÞ ÁØ ÐÝ Ë ÁÒØ ÖÒ Ø ÓÒ Ð ºÖºÐº ÓÖ Ó ÈÖÓÑ ËÔÓ ¾» ¾¾¼ Ä Ó ÁØ ÐÝ Å ÖÓ
CHAPTER 1. Compound Interest
CHAPTER 1 Compound Interest 1. Compound Interest The simplest example of interest is a loan agreement two children might make: I will lend you a dollar, but every day you keep it, you owe me one more penny.
Table and field properties Tables and fields also have properties that you can set to control their characteristics or behavior.
Create a table When you create a database, you store your data in tables subject-based lists that contain rows and columns. For instance, you can create a Contacts table to store a list of names, addresses,
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
PROCESSOR IS OCCUPIED BY T i
ËÙÐÒ ÐÓÖØÑ ÓÖ ÅÙÐØÔÖÓÖÑÑÒ Ò ÀÖ¹ÊйÌÑ ÒÚÖÓÒÑÒØ º ĺ ÄÙ ÈÖÓØ Å Å Ù ØØ ÁÒ ØØÙØ Ó ÌÒÓÐÓÝ ÂÑ Ïº ÄÝÐÒ ÂØ ÈÖÓÔÙÐ ÓÒ ÄÓÖØÓÖÝ ÐÓÖÒ ÁÒ ØØÙØ Ó ÌÒÓÐÓÝ ØÖØ Ì ÔÖÓÐÑ Ó ÑÙÐØÔÖÓÖÑ ÙÐÒ ÓÒ ÒÐ ÔÖÓ ÓÖ ØÙ ÖÓÑ Ø ÚÛÔÓÒØ Ó Ø ÖØÖ
Ò Ñ Ö Ð ÓÙÒ Ø ÓÒ ÓÖ ÙØÓÑ Ø Ï ÁÒØ Ö Ú ÐÙ Ø ÓÒ Ý Å ÐÓ Ý Ú ØØ ÁÚÓÖÝ ºËº ÈÙÖ Ù ÍÒ Ú Ö ØÝµ ½ ź˺ ÍÒ Ú Ö ØÝ Ó Ð ÓÖÒ Ø Ö Ð Ýµ ½ ÖØ Ø ÓÒ Ù Ñ ØØ Ò ÖØ Ð Ø Ø ÓÒ Ó Ø Ö ÕÙ Ö Ñ ÒØ ÓÖ Ø Ö Ó ÓØÓÖ Ó È ÐÓ Ó Ý Ò ÓÑÙØ Ö
set in Options). Returns the cursor to its position prior to the Correct command.
Dragon NaturallySpeaking Commands Summary Dragon Productivity Commands Relative to Dragon NaturallySpeaking v11-12 or higher Dragon Medical Practice Edition and Practice Edition 2 or higher Dictation success
Collecting Polish German Parallel Corpora in the Internet
Proceedings of the International Multiconference on ISSN 1896 7094 Computer Science and Information Technology, pp. 285 292 2007 PIPS Collecting Polish German Parallel Corpora in the Internet Monika Rosińska
ÔØ Ö Ê Ö ÓÐÓ Ý ÁÒ Ø ÔØ Ö Ø Ö Ñ Ò ÛÓÖ Ø Ø ÓÒ Ú ÐÓÔ ÔÖ ÒØ º Ì ÛÓÖ Ø ¹ Ø ÓÒ ÓÑÔÙØ Ö Ø ÒÓ Ø ÑÓ ÙÐ Û Ö Ø ÓÖÓÒ ÖÝ ØÖ ÑÓ Ð ÐÐ ÔÐ Ý Ò ÑÔÓÖØ ÒØ ÖÓÐ Û Ò Ó Ò ÙØÓÑ Ø Ú Ð Ò ÐÝ Û Ø ÓÖÓÒ ÖÝ Ò Ó Ö ¹ Ô Ý Ñ º Ì ÔØ Ö Ò Û
ÆÓØ Ä ØÙÖ Ð Ñ Ø ØÖÙ ÙØ ÓÒ ØÓ Á ¼ ØÙ ÒØ ÓÖ ÐÐ ÓØ Ö Ö Ø Ö ÖÚ Á ¼ ÈÊÇ Í ÌÁÇÆ ÈÄ ÆÆÁÆ Æ ÇÆÌÊÇÄ Ê Æ Ô ÖØÑ ÒØ Ó ÁÒ Ù ØÖ Ð Ò Ò Ö Ò ÍÒ Ú Ö ØÝ Ø Ù«ÐÓ ¹ ËØ Ø ÍÒ Ú Ö ØÝ Ó Æ Û ÓÖ Ò Ù«ÐÓº Ù Á ¼ ÈÊÇ Í ÌÁÇÆ ÈÄ ÆÆÁÆ Æ
ÀÖÖÐ ÈÐÑÒØ Ò ÆØÛÓÖ Ò ÈÖÓÐÑ ËÙÔØÓ Ù Ñ ÅÝÖ ÓÒ Ý ÃÑ ÅÙÒÐ Þ ÅÝ ½ ¾¼¼¼ ØÖØ ÁÒ Ø ÔÔÖ Û Ú Ø Ö Ø ÓÒ ØÒعÔÔÖÓÜÑØÓÒ ÓÖ ÒÙÑÖ Ó ÐÝÖ ÒØÛÓÖ Ò ÔÖÓÐÑ º Ï Ò Ý ÑÓÐÒ ÖÖÐ Ò ÛÖ Ö ÔÐ Ò ÐÝÖ Ò ÐÝÖ Ø Ü ÔÖÒØ Ó Ø ÑÒ ÓÙÒ Ñ ÖØ µº
Preservation Handbook
Preservation Handbook [Binary Text / Word Processor Documents] Author Rowan Wilson and Martin Wynne Version Draft V3 Date 22 / 08 / 05 Change History Revised by MW 22.8.05; 2.12.05; 7.3.06 Page 1 of 7
File Formats for Electronic Document Review Why PDF Trumps TIFF
APPLIED DISCOVERY WHITE PAPER File Formats for Electronic Document Review Why PDF Trumps TIFF APPLIED DISCOVERY WHITE PAPER What is the difference between PDF and TIFF, and why should lawyers care? The
Elfring Fonts, Inc. PCL MICR Fonts
Elfring Fonts, Inc. PCL MICR Fonts This package contains five MICR fonts (also known as E-13B), to print magnetic encoding on checks, and six Secure Number fonts, to print check amounts. These fonts come
Ê ½µ ¼»¼»¼½ ÓÑÔÙØÖ ËÒ»ÅØÑØ ½ Ô Ê Ö ÊÔÓÖØ Ì ÈÊËÍË ËÝ ØÑ ÖØØÙÖ ÖØ ÈØÞÑÒÒ ½ ÂÑ ÊÓÖÒ ¾ Ö ØÒ ËØÐ ½ ÅÐ ÏÒÖ ¾ ÖÒ ÏÖ ½ ÍÒÚÖ ØØ ËÖÐÒ ÁÑ ËØØÛÐ ¹½¾ ËÖÖÒ ÖÑÒÝ ßÔØÞÑÒÒ ØÙÐÐ ºÙÒ¹ º ¾ ÁÅ ÙÖ Ê Ö ÄÓÖØÓÖÝ ËÙÑÖ ØÖ À¹¼ Ê
Producing accessible materials for print and online
Producing accessible materials for print and online Standard of Accessibility AbilityNet is a registered national pan disability charity helping people adapt and adjust their information and communication
Creating and Using Databases with Microsoft Access
CHAPTER A Creating and Using Databases with Microsoft Access In this chapter, you will Use Access to explore a simple database Design and create a new database Create and use forms Create and use queries
Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database.
Physical Design Physical Database Design (Defined): Process of producing a description of the implementation of the database on secondary storage; it describes the base relations, file organizations, and
} diff. } make. fetch. diff. (a) Standard LRC. (c) Home-based LRC. (b) AURC. Node 0 Node 1 Node 2 (home) Node 0 Node 1 Node 2 (home) Compute
ÈÙÐ Ò Ø ÈÖÓÒ Ó Ø ¾Ò ËÝÑÔÓ ÙÑ Ó ÇÔÖØÒ ËÝ ØÑ Ò Ò ÁÑÔÐÑÒØØÓÒ ÇËÁ³µ ÈÖÓÖÑÒ ÚÐÙØÓÒ Ó ÌÛÓ ÀÓѹ ÄÞÝ ÊÐ ÓÒ ØÒÝ ÈÖÓØÓÓÐ ÓÖ ËÖ ÎÖØÙÐ ÅÑÓÖÝ ËÝ ØÑ ÙÒÝÙÒ ÓÙ ÄÚÙ ÁØÓ Ò Ã Ä ÔÖØÑÒØ Ó ÓÑÔÙØÖ ËÒ ÈÖÒØÓÒ ÍÒÚÖ ØÝ ÈÖÒØÓÒ ÆÂ
SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison
SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89 by Joseph Collison Copyright 2000 by Joseph Collison All rights reserved Reproduction or translation of any part of this work beyond that permitted by Sections
ÓÑÔ Ö Ø Ú ËØÙ Ý Ó ÌÛÓ ØÖÓÒÓÑ Ð ËÓ ØÛ Ö È Ò Ì Ø Ù Ñ ØØ Ò Ô ÖØ Ð ÙÐ ÐÐÑ ÒØ Ó Ø Ö ÕÙ Ö Ñ ÒØ ÓÖ Ø Ö Ó Å Ø Ö Ó Ë Ò Ò ÓÑÔÙØ Ö Ë Ò Ì ÍÒ Ú Ö ØÝ Ó Ù Ð Ò ½ ÌÓ ÅÙÑ Ò Ò ØÖ Ø Ì Ø ÓÑÔ Ö Ø Ú ØÙ Ý Ó ØÛÓ ÓÔ Ò ÓÙÖ ØÖÓÒÓÑ
L A TEX font encodings
L A TEX font encodings Frank Mittelbach Robin Fairbairns Werner Lemberg L A TEX3 Project Team. Copyright 1995 2014 29 October 2014 Contents 1 Introduction 1 1.1 Encodings in TEX...........................
Ask your teacher about any which you aren t sure of, especially any differences.
Punctuation in Academic Writing Academic punctuation presentation/ Defining your terms practice Choose one of the things below and work together to describe its form and uses in as much detail as possible,
dtsearch Frequently Asked Questions Version 3
dtsearch Frequently Asked Questions Version 3 Table of Contents dtsearch Indexing... 3 Q. What is dtsearch?... 3 Q. How can I view and change my indexing options?... 3 Q. What characters are indexed?...
PART 5. Chapter 1. Understanding and using the Toolkit Guidelines for Graphic Design
TOOLKIT for Making Written Material Clear and Effective SECTION 2: Detailed guidelines for writing and design PART 5 Understanding and using the Toolkit Guidelines for Graphic Design Chapter 1 Tips for
