TEX LUA METAPOST Context

Total Page:16

File Type:pdf, Size:1020Kb

TEX LUA METAPOST Context TUGboat, Volume 38 (2017), No. 3 315 ConTEXt for beginners Willi Egger Abstract METAPOST In 2017 we had a joint meeting of BachoTEX and TUG. During this conference a workshop for Con- TEXt beginners was requested. The following article comes from this workshop. As with any typesetting system offering possi- TEX LUA bilities to handle virtually any project, ConTEXt is a huge system. As with the workshop, this article can only lift the veil a little. The workshop was a ConT Xt hands-on session for playing with basic elements to E create a document. Towards the end there was a chance to work on a small project — a single-sided 2 Availability document containing all the elements to build an invoice. ConTEXt is included in TEX Live, so you may well already have it. However, for users who wish to use Keywords: ConTEXt, beginner, workshop ConTEXt extensively or exclusively, we recommend the standalone release, which can be obtained from the ConTEXt garden wiki: wiki.contextgarden. 1 About ConT Xt E net. The garden also has information on instal- TEX, developed by Donald Knuth in the 1970s and lation of the system for current operating systems, 1980s, is still widely used. There are three principal notably Windows, Mac OS X, and Linux. flavours: Plain TEX, LATEX and ConTEXt. ConTEXt is an advanced macro package which 3 Documentation uses T X as an engine. ConT Xt is a development E E ConT Xt is a highly complex typesetting system. It of PRAGMA ADE in Hasselt, The Netherlands. The E comes with many detailed manuals, many of which code base was written and continues to be actively are included in the distribution, and all can be down- maintained by Hans Hagen. It was first developed loaded from the Pragma website (pragma-ade.com). for typesetting schoolbooks and school math. Along with this, there are a couple of printed books; At present two versions of ConT Xt are in use. E these are available from H O-books (see also sec- ConT Xt MkII makes use of the pdfT X engine. This 2 E E tion 8. version is not developed any further and the code is frozen, but bug–fixes are still applied. The current 4 Basic elements version ConTEXt MkIV makes use of LuaTEX and is under continuous development. For new users of A basic difference compared to other macro packages ConTEXt we advise starting with ConTEXt MkIV is that in ConTEXt almost all commands are defined with LuaTEX. as structured elements, enclosed by start ... stop In contrast to other macro packages ConTEXt commands. This is a prerequisite for working with is a primarily monolithic system. Essentially all XML and provides much control over the beginning facilities are provided out of the box. Nevertheless, and end of an element. some modules for add-on features, written by third Each document starts with \starttext and parties, can be installed and invoked as necessary. ends with \stoptext. Other examples of such struc- ConTEXt makes heavy use of MetaPost. The tured commands are: latter is therefore used as a library which makes it • \startchapter ... \stopchapter possible to generate graphics at runtime very effi- • \startsection ... \stopsection ciently. • \startplacefigure ... \stopplacefigure ConTEXt can be used for processing TEX-coded documents but it also provides a fully developed The system comes with a reasonable set of pre- environment to process XML-coded data. ConTEXt sets for many constructs that are needed while build- has interface capabilities with SQL databases. ing a new document. ConTEXt provides maximum Graphically the ConTEXt–typesetting system flexibility to adjust almost anything according to can be presented as follows: the user’s wishes. For this purpose most commands ConTEXt for beginners 316 TUGboat, Volume 38 (2017), No. 3 come with a \setup... command, where appropri- \setuppapersize[letter][letter] ate variables can be customized. A couple of exam- To set a custom paper size the following two ples, taking options in square brackets (common in commands are needed: ConT Xt): E \definepapersize[Mypsize][width=80mm,height=95mm] • \setupframedtext[...][...] \setuppapersize[Mypsize][A4] • \setuplayer[...][...] The \setuppapersize command accepts two It is important to note that, in case it’s needed, arguments, used to make up the page and place it ConTEXt still understands most of Plain TEX. on paper. The first argument tells ConTEXt the size of the page, and the second argument tells the 5 Export formats system how to put the page on a certain paper size When running a document with ConTEXt the output for printing. To both arguments one can add the is by default PDF. Correctly coded documents can attributes portrait or landscape. So the above also be exported as XML, HTML, XHTML and ePub. defines a small layout sized, to be placed on A4 paper. 6 A first ConTEXt document Of course one often wants the layout size and As with other TEX environments, it is best to use a printing size to be the same, so both arguments are text editor for coding. the same: For the first document we can open a TEX file, \definepapersize[Mypsize][width=80mm,height=95mm] say myfirstfile.tex and type e.g. \setuppapersize[Mypsize][Mypsize] \starttext Finally, we do not need to define our own paper Dzie´n dobry at the \CONTEXT sizes when using any of the predefined ones. For beginners tutorial! instance, to place an A4 page on an A3 in landscape: \stopptext \setuppapersize[A4][A3,landscape] After saving this file, we can compile it from the terminal with context myfirstfile. Provided that 7.2 Page layout the installation was successful it will result in a docu- Although ConTEXt comes out of the box with a ment typeset as A4 with the name myfirstfile.pdf. decent set of presets one has all sort of possibilities It is worth mentioning that ConTEXt is UTF-8 to adapt a layout of a page to the needs at hand. In aware out of the box, so typesetting accented glyphs, order to be able to work with this rather extensive as above, is no problem. command it is necessary to have a look at the division of the space of a page. 7 Elements of a document The following drawing shows all regions which Now that we know that the installation is fine, we we can manipulate individually: the outermost areas can start describing the common elements of our indicated by top and bottom as well as leftmargin documents. In a second step these elements will be and leftedge and such. The edges are normally used in a small project for creating a simple invoice. only used in interactive documents like presentations. We will deal in this first step with the paper We will not discuss those here. size, the general layout of the page, fonts, two types left left right right of table environments, headers and footers, and the edge margin text margin edge layer mechanism and the basic placement of graphical top elements. header 7.1 Paper size text By default ConTEXt produces A4 pages, but of course one is in no way bound to this format. The system comes with many predefined paper sizes including footer the DIN-A series, American paper sizes and oversized bottom paper sizes for the print industry. Figure 1: Page layout areas Because ConTEXt produces A4 by default we do not have to set up the paper size for that case. However if you are using letter size you will have The one command to set up these different re- to tell this to the system in the preamble of each gions of the page is \setuplayout. An example: document: Willi Egger TUGboat, Volume 38 (2017), No. 3 317 \setuplayout ment. For an example of how this looks, see the [topspace=15mm, appendix. backspace=15mm, If you want to know all the dimensions set for the header=0pt, page you can put \showlayout into the document. footer=1.2\bodyfontsize, It will show all dimensions on one page. The default height=middle, values of page parameters in ConT Xt are as follows. width=middle] E This command has many arguments and needs \paperheight 29.7000cm to be studied in the documentation. Designing a page \paperwidth 21.0000cm layout is done always on a right-hand (odd) page. \printpaperheight 29.7000cm When we need a double-sided document we tell this \printpaperwidth 21.0000cm 2.4998cm to ConT Xt and the system will automatically switch \topspace E \backspace 2.5000cm the backspace and eventually-determined margins to \makeupheight 25.0000cm the right position on the even page. \makeupwidth 14.9999cm • The key topspace gives the white space above \topheight 0.0000cm the content, and key backspace denotes the \topdistance 0.0000cm white space left of the content. \headerheight 1.9999cm \headerdistance 0.0000cm • Normally ConTEXt has an active header. If we \textheight 21.0002cm do not want a header we switch the key header \footerdistance 0.0000cm to zero, using any of the usual TEX dimensions, \footerheight 1.9999cm e.g. pt, mm, cm, in. When the header is zero, \bottomdistance 0.0000cm automatically the header-distance (not shown \bottomheight 0.0000cm above; it’s the space below the header and above \leftedgewidth 0.0000cm the text) is set to zero too. The same applies to \leftedgedistance 0.0000cm the footer. \leftmarginwidth 2.6564cm \leftmargindistance 0.4217cm • The key height specifies the total height in \textwidth 14.9999cm which any content can occur, i.e. it includes \rightmargindistance 0.4217cm the header, header-distance, text body, footer- \rightmarginwidth 2.6564cm distance and footer. If we give height=middle, \rightedgedistance 0.0000cm the system will calculate the height of the type- \rightedgewidth 0.0000pt setting area such that there is an even distribu- tion of white on top and bottom of the page.
Recommended publications
  • Suitcase Fusion 8 Getting Started
    Copyright © 2014–2018 Celartem, Inc., doing business as Extensis. This document and the software described in it are copyrighted with all rights reserved. This document or the software described may not be copied, in whole or part, without the written consent of Extensis, except in the normal use of the software, or to make a backup copy of the software. This exception does not allow copies to be made for others. Licensed under U.S. patents issued and pending. Celartem, Extensis, LizardTech, MrSID, NetPublish, Portfolio, Portfolio Flow, Portfolio NetPublish, Portfolio Server, Suitcase Fusion, Type Server, TurboSync, TeamSync, and Universal Type Server are registered trademarks of Celartem, Inc. The Celartem logo, Extensis logos, LizardTech logos, Extensis Portfolio, Font Sense, Font Vault, FontLink, QuickComp, QuickFind, QuickMatch, QuickType, Suitcase, Suitcase Attaché, Universal Type, Universal Type Client, and Universal Type Core are trademarks of Celartem, Inc. Adobe, Acrobat, After Effects, Creative Cloud, Creative Suite, Illustrator, InCopy, InDesign, Photoshop, PostScript, Typekit and XMP are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Apache Tika, Apache Tomcat and Tomcat are trademarks of the Apache Software Foundation. Apple, Bonjour, the Bonjour logo, Finder, iBooks, iPhone, Mac, the Mac logo, Mac OS, OS X, Safari, and TrueType are trademarks of Apple Inc., registered in the U.S. and other countries. macOS is a trademark of Apple Inc. App Store is a service mark of Apple Inc. IOS is a trademark or registered trademark of Cisco in the U.S. and other countries and is used under license. Elasticsearch is a trademark of Elasticsearch BV, registered in the U.S.
    [Show full text]
  • CM-Super: Automatic Creation of Efficient Type 1 Fonts from Metafont
    CM-Super: Automatic creation of efficient Type 1 fonts from METAFONT fonts Vladimir Volovich Voronezh State University Moskovsky prosp. 109/1, kv. 75, Voronezh 304077 Russia [email protected] Abstract In this article I describe making the CM-Super fonts: Type 1 fonts converted from METAFONT sources of various Computer Modern font families. The fonts contain a large number of glyphs covering writing in dozens of languages (Latin-based, Cyrillic-based, etc.) and provide outline replacements for the original METAFONT fonts. The CM-Super fonts were produced by tracing the high resolution bitmaps generated by METAFONT with the help of TEXtrace, optimizing and hinting the fonts with FontLab, and applying cleanups and optimizations with Perl scripts. 1 The idea behind the CM-Super fonts There exist free Type 1 versions of the original CM The Computer Modern (CM) fonts are the default fonts, provided by Blue Sky Research, Elsevier Sci- ence, IBM Corporation, the Society for Industrial and most commonly used text fonts with TEX. Orig- inally, CM fonts contained only basic Latin letters, and Applied Mathematics (SIAM), Springer-Verlag, and thus covered only the English language. There Y&Y and the American Mathematical Society, but are however a number of Computer Modern look- until not long ago there were no free Type 1 versions alike METAFONT fonts developed which cover other of other “CM look-alike” fonts available, which lim- languages and scripts. Just to name a few: ited their usage in PDF and PostScript target docu- ment formats. The CM-Super fonts were developed • EC and TC fonts, developed by J¨orgKnappen, to cover this gap.
    [Show full text]
  • Miktex Manual Revision 2.0 (Miktex 2.0) December 2000
    MiKTEX Manual Revision 2.0 (MiKTEX 2.0) December 2000 Christian Schenk <[email protected]> Copyright c 2000 Christian Schenk Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the con- ditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. Chapter 1: What is MiKTEX? 1 1 What is MiKTEX? 1.1 MiKTEX Features MiKTEX is a TEX distribution for Windows (95/98/NT/2000). Its main features include: • Native Windows implementation with support for long file names. • On-the-fly generation of missing fonts. • TDS (TEX directory structure) compliant. • Open Source. • Advanced TEX compiler features: -TEX can insert source file information (aka source specials) into the DVI file. This feature improves Editor/Previewer interaction. -TEX is able to read compressed (gzipped) input files. - The input encoding can be changed via TCX tables. • Previewer features: - Supports graphics (PostScript, BMP, WMF, TPIC, . .) - Supports colored text (through color specials) - Supports PostScript fonts - Supports TrueType fonts - Understands HyperTEX(html:) specials - Understands source (src:) specials - Customizable magnifying glasses • MiKTEX is network friendly: - integrates into a heterogeneous TEX environment - supports UNC file names - supports multiple TEXMF directory trees - uses a file name database for efficient file access - Setup Wizard can be run unattended The MiKTEX distribution consists of the following components: • TEX: The traditional TEX compiler.
    [Show full text]
  • About Basictex-2021
    About BasicTeX-2021 Richard Koch January 2, 2021 1 Introduction Most TeX distributions for Mac OS X are based on TeX Live, the reference edition of TeX produced by TeX User Groups across the world. Among these is MacTeX, which installs the full TeX Live as well as front ends, Ghostscript, and other utilities | everything needed to use TeX on the Mac. To obtain it, go to http://tug.org/mactex. 2 Basic TeX BasicTeX (92 MB) is an installation package for Mac OS X based on TeX Live 2021. Unlike MacTeX, this package is deliberately small. Yet it contains all of the standard tools needed to write TeX documents, including TeX, LaTeX, pdfTeX, MetaFont, dvips, MetaPost, and XeTeX. It would be dangerous to construct a new distribution by going directly to CTAN or the Web and collecting useful style files, fonts and so forth. Such a distribution would run into support issues as the creators move on to other projects. Luckily, the TeX Live install script has its own notion of \installation packages" and collections of such packages to make \installation schemes." BasicTeX is constructed by running the TeX Live install script and choosing the \small" scheme. Thus it is a subset of the full TeX Live with exactly the TeX Live directory structure and configuration scripts. Moreover, BasicTeX contains tlmgr, the TeX Live Manager software introduced in TeX Live 2008, which can install additional packages over the network. So it will be easy for users to add missing packages if needed. Since it is important that the install package come directly from the standard TeX Live distribution, I'm going to explain exactly how I installed TeX to produce the install package.
    [Show full text]
  • Tugboat, Volume 33 (2012), No. 1 53 TEX on Windows: Miktex Or TEX Live? Joseph Wright on Windows, There Are Two Actively-Develop
    TUGboat, Volume 33 (2012), No. 1 53 TEX on Windows: MiKTEX or TEX Live? A reminder that MiKTEX and TEX Live are not the only choices. W32TEX (Kakuto, 2012) is popular Joseph Wright in the far east. As well as being a TEX system in On Windows, there are two actively-developed free its own right, it is the source of the Windows binar- TEX systems with similar coverage: MiKTEX (Schenk, ies for TEX Live, and TEX Live acquires more CJK 2011) and TEX Live (TEX Users Group, 2011). The support from it every year. For users focussed on good news is that there is a lot of similarity between ConTEXt, ConTEXt standalone (Pragma ADE, 2012) the two systems, so for most users both systems is probably the best way to go (it uses the W32TEX are equally usable, and (LA)TEX documents are port- binaries on Windows). There are also the commer- able between them. However, there are differences cial options, for example BaKoMa TEX (BaKoMa and depending on what you need these might be Soft., 2011) or PCTEX (Personal TEX, Inc., 2011). important. However, for most users it comes down to a choice between the ‘big two’. • The default settings install everything for TEX Live, but only a minimal set of packages for References MiKT X. MiKT X will then install extra pack- E E BaKoMa Soft. “BaKoMa T X 9.77”. ages ‘on the fly’, while T X Live does not (there E E http://www.bakoma-tex.com/, 2011. is a package to do that in TEX Live, but it is aimed at GNU/Linux users).
    [Show full text]
  • The TEX Font Panel
    The TEX Font Panel Nelson H. F. Beebe (chair) Center for Scientific Computing University of Utah Department of Mathematics, 322 INSCC 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Email: [email protected], [email protected], [email protected], [email protected] (Internet) WWW URL: http://www.math.utah.edu/~beebe Telephone: +1 801 581 5254 FAX: +1 801 585 1640, +1 801 581 4148 Internet: [email protected] Introduction Since most programming languages, operating systems, file systems, and even computer I/O and The TUG’2001 Font Panel convened on Thursday, CPU chips, have character knowledge designed into August 16, 2001, with members William Adams, them, changing the character set has huge ramifica- Nelson H. F. Beebe (chair), Barbara Beeton, Hans tions for the computing industry and for worldwide Hagen, Alan Hoenig, and Ross Moore, with active business data processing, data exchange, and record participation by several attendees in the audience. keeping. The list of topics that was projected on the screen Fortunately, a particular encoding scheme makes up the sectional headings in what follows, and called UTF-8 makes it possible for files encoded in the topics are largely independent. pure ASCII to also be Unicode in UTF-8 encoding, Any errors or omissions in this article are solely easing the transition to the new character set. the fault of the panel chair. Up to version 2.0 in 1996, the Unicode character repertoire could be fit into a table of 216 = 65 536 en- Unicode tries. Version 3.0 in 2000 increased the count to over The work of the Unicode Consortium, begun in a million, although just under 50 000 are assigned 1988, and first reported on for the TEX community and tabulated in the book.
    [Show full text]
  • A User's Guide to the Lout Document Formatting System
    A User’s Guide to the Lout Document Formatting System Jeffrey H. Kingston Version 3.40 June 2013 Copyright 1991, 2013 Jeffrey H. Kingston, School of Information Technologies, The University of Sydney 2006, Australia. ISBN 0 86758 9515. Preface This User’s Guide brings together in one document everything needed for the day-to-day use of Version 3 of the Lout document formatting system. There are three other documents describing Lout: the Expert’s Guide [5], which you need if you want to add new features to Lout; a journal paper on the design and implementation of Lout [3]; and a set of overhead transparencies [4]that cover much the same ground as this Guide. These documents are all distributed with the software. Lout is distributed free of charge under the GNU Public License. The primary source is ftp://ftp.it.usyd.edu.au/jeff/lout containing a gzipped tar file of the current version, and various other things including a PostScript version of this guide. The distribution contains source code, libraries,documentation, license, and installation instructions. A mailing list has been set up for discussion of all topics related to Lout. To subscribe (or unsubscribe), visit http://lists.nongnu.org/mailman/listinfo/lout-users After subscribing, to post an item send email to [email protected]; it will be forwarded to all subscribers via email. There is also a web site at http://savannah.nongnu.org/projects/lout. Lout began in 1984 as a research project into the design of a high-level language for document formatting.
    [Show full text]
  • Luametatex Reference Manual
    LuaMetaTEX Reference Manual February 2021 Version 2.08.16 LuaMetaTEX Reference Manual copyright : LuaTEX development team :CONTEXT development team more info : www.luatex.org : contextgarden.net version : February 20, 2021 Contents Introduction 11 1 The internals 15 2 Differences with LUATEX 19 3 The original engines 25 3.1 The merged engines 25 3.1.1 The rationale 25 3.1.2 Changes from TEX 3.1415926... 25 3.1.3 Changes from 휀-TEX 2.2 26 3.1.4 Changes from PDFTEX 1.40 27 3.1.5 Changes from ALEPH RC4 28 3.1.6 Changes from standard WEB2C 28 3.2 Implementation notes 29 3.2.1 Memory allocation 29 3.2.2 Sparse arrays 29 3.2.3 Simple single-character csnames 29 3.2.4 Binary file reading 29 3.2.5 Tabs and spaces 30 3.2.6 Logging 30 3.2.7 Parsing 30 4 Using LUAMETATEX 33 4.1 Initialization 33 4.1.1 LUAMETATEX as a LUA interpreter 33 4.1.2 Other commandline processing 33 4.2 LUA behaviour 35 4.2.1 The LUA version 35 4.2.2 Locales 35 4.3 LUA modules 35 4.4 Testing 36 5 Basic TEX enhancements 37 5.1 Introduction 37 5.1.1 Primitive behaviour 37 5.1.2 Version information 37 5.2 UNICODE text support 38 5.2.1 Extended ranges 38 5.2.2 \Uchar 39 5.2.3 Extended tables 39 1 5.3 Attributes 41 5.3.1 Nodes 41 5.3.2 Attribute registers 42 5.3.3 Box attributes 42 5.4 LUA related primitives 44 5.4.1 \directlua 44 5.4.2 \luaescapestring 45 5.4.3 \luafunction, \luafunctioncall and \luadef 45 5.4.4 \luabytecode and \luabytecodecall 46 5.5 Catcode tables 47 5.5.1 Catcodes 47 5.5.2 \catcodetable 47 5.5.3 \initcatcodetable 47 5.5.4 \savecatcodetable 48 5.6 Tokens, commands
    [Show full text]
  • GNU Texinfo Reference Card @Contents Print a Complete Table of Contents
    GNU Texinfo Reference Card @contents Print a complete table of contents. Has no effect in Cross references (for Texinfo version 6.8) Info, which uses menus instead. Within the Info system http://www.gnu.org/software/texinfo/ Nodes @xref {node, [entry] , [node-title] , [info-file] , [manual] } Makes @node name Begin a new node. a reference that starts with ‘See’ in a printed manual. Follow Texinfo document skeleton command with punctuation. Only the first argument is @top title Mark the topmost @node in the file, which must be mandatory. Texinfo source files are plain text; standard extensions are defined on the line immediately preceding @top. The title is @pxref {node, [entry] , [node-title] , [info-file] , [manual] } Like ‘.texinfo’, ‘.texi’, and ‘.txi’. A Texinfo file must begin with formatted as a chapter-level heading. The entire top node, @xref, but starts with ‘see’ instead of ‘See’, and must be used lines like this: including the @node and @top lines, are normally enclosed with @ifnottex ... @end ifnottex. inside parentheses. \input texinfo @ref {node, [entry] , [node-title] , [info-file] , [manual] } Like @xref, @settitle name-of-manual @anchor {name} Define name as the current location, for use as a cross-reference target. but produces only the bare reference without ‘See’ or ‘see’; must ... be followed by a punctuation mark. the contents of the Texinfo document, ending with: @novalidate Suppress validation of node references and omit @bye creation of auxiliary files with T X. Use before @setfilename. @xrefautomaticsectiontitle on|off By default, use the section E title instead of the node name in cross references. Texinfo @-commands Chapter structuring Outside of Info Beginning a Texinfo document @lowersections Change subsequent chapters to sections, sections @url {url, [displayed-text] , [replacement] } Make a hyperlink to subsections, and so on.
    [Show full text]
  • Forensic Analysis of OOXML Documents
    Forensic Analysis of OOXML Documents Espen Didriksen Master’s Thesis Master of Science in Information Security 30 ECTS Department of Computer Science and Media Technology Gjøvik University College, 2014 Avdeling for informatikk og medieteknikk Høgskolen i Gjøvik Postboks 191 2802 Gjøvik Department of Computer Science and Media Technology Gjøvik University College Box 191 N-2802 Gjøvik Norway Forensic Analysis of OOXML Documents Abstract Microsoft Office 2007 and subsequent versions use an XML-based file format called Office Open XML (OOXML) for storing documents, spreadsheets and presentations. OOXML documents are often collected in forensic investigations, and is considered one of the main sources of evidence by the National Authority for Investigation and Prosecution of Economic and Environmental Crime in Norway (Norwegian: Økokrim). OOXML documents are zipped file containers which upon extraction reveals a file structure with files containing forensically interesting information. Metadata specified in the XML of these doc- uments can often be used for e.g. attributing a document to a person or correlating time informa- tion to build a timeline of events. Revision identifiers are unique numbers appended to content in OOXML documents produced in Microsoft Word, and can be used in forensics to e.g. uncover previously unknown social networks, determine the source of a document and detect plagiarism of intellectual property. We have used experimental methods to determine the forensic difference between the word pro- cessors Microsoft Word 2007, 2010, 2013, 365 and Online, in addition to LibreOffice Writer and Google Docs, with respect to original path preservation of inserted images, thumbnail creation and implementation of revision identifiers.
    [Show full text]
  • Making Type 1 and Opentype Fonts with Metatype1 and Fontforge
    Making Type 1 and OpenType fonts with MetaType1 and FontForge Karel Píška Institute of Physics, Academy of Sciences Prague, Czech Republic 24 August 2008 2nd ConTEXt Meeting Bohinj, Slovenija Contents Type 1 v.s. OpenType OpenType fonts today TEX text OpenType fonts OpenType math fonts today Stage 1: Font creating with MetaType1 Examples with Latin Modern Stage 2: From Type 1 to OpenType Construction of OpenType Conclusion and suggestions Conclusion and suggestions TEX Gyre fonts and math OpenType tables Last comments Type 1 v.s. OpenType (probably everybody knows) Limitations in Type 1 I max.number of encoded glyphs – 256 I we need many encoding files to cover various languages and their encodings (9 or more in today’s Latin Modern and TEX Gyre) I metrics data (also ligatures, kernings, . ) in additional separated files (× the number of encodings) OpenType fonts I can cover all characters together with metrics and “advances typographic facilities” I are available for XeTEX, LuaTEX I allow to unify access to glyphs, hyphenation patterns, . OpenType fonts today TEX text OpenType fonts I Latin Modern (LMRoman10-Regular) old style digits present I TEX Gyre (TeXGyreTermes-Regular) old style digits, small caps I Antykwa Torunska I Iwona I Kurier and, maybe, other OpenType fonts today OpenType math fonts I Cambria Math [MicroSoft] I old style digits I math symbols I letters: regular, bold, (math) italic, small caps, subscript, superscript, script-script, etc. I see (MS specification) I Minion Math [Jonannes Küster] I Asana Math [Apostolos Syropoulos] (glyph list) special optical sizes for scripts and scriptscrips are absent (?) I STIX not available after beta-testing (?) I other OpenType math ? Stage 1: Font creating with MetaType1 The fonts can be generated with the MetaType1 package [authors B.
    [Show full text]
  • Data Hiding and Detection in Office Open Xml (Ooxml) Documents
    DATA HIDING AND DETECTION IN OFFICE OPEN XML (OOXML) DOCUMENTS by Muhammad Ali Raffay A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Applied Science (MASc) in Electrical and Computer Engineering Faculty of Engineering and Applied Science University of Ontario Institute of Technology Oshawa, Ontario, Canada March, 2011 Copyright ©Muhammad Ali Raffay, 2011 Author’s Declaration I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. Muhammad Ali Raffay ii Abstract With the rapid development and popularity of information technology, criminals and mischievous computer users are given avenues to commit crimes and malicious activities. One of the commonly used tactics, called steganography, is to hide information under a cover media so that except participants, no one else knows the existence of such information. Many techniques have been proposed for hiding data in images, videos and audios, but there is not much research devoted to data hiding in the popular MS Office documents which have recently adopted Office Open XML (OOXML) format. In this research, we first focus on identifying several data hiding techniques for OOXML documents. Then, we design and develop a fast detection algorithm based on the unique internal structure of OOXML documents, which contains multiple XML files, by using multi-XML query technique. Experimental results show the proposed detection algorithm outperforms the traditional one in terms of detection speed and completeness, where performance is the key to success of detecting hidden data in OOXML documents due to the fact that millions of documents are generated and transferred over the internet every day.
    [Show full text]