8

I am formatting 85,000 words of text in InDesign that include several (non-negotiable) .ttf and .otf fonts not canonical to LaTeX.

I'd like to switch to a TeX-based format for the following capabilities:

  1. Setting well in strange shapes: http://www.tug.org/texshowcase/ShowcaseCircular.pdf

  2. \length macro: http://www.tug.org/texshowcase/diminuendo.pdf

  3. pdfTeX's superior justification algorithm. Particularly: protrusion, expansion, tracking, and kerning (microtype features, all but the first of which XeTeX cannot perform)

  4. Per-page margin adjustment, as found in LaTeX's geometry package

I intend to substitute InDesign's optical kerning with a few manual spacing adjustments, which I understand to be an omnipresent feature of TeX-based formats.

I also need vertical and horizontal text reflection - also omnipresent, from what I've found.

What can perform the above TeX tricks on an arbitrary mix of .ttf and .otf fonts, with a high-quality PDF output?

ConTeXt may be my best bet, but its sparse documentation leaves me unsure.

4
  • 6
    Welcome to TeX.SE! The LuaTeX engine may be your best bet. Two formats that build on the LuaTeX engine may be of particular interest to you: ConTeXt (which you've already mentioned) and LuaLaTeX. The microtype package supports LuaLaTeX nearly as completely as it does pdfLaTeX.
    – Mico
    Jun 1, 2014 at 6:03
  • I've had reservations about LuaLaTeX's spacing of italicized text (tex.stackexchange.com/questions/126206/…) but hand-adjusting any issues there would definitely be worth the overall capabilities. Thanks Mico!
    – crai_n
    Jun 1, 2014 at 6:55
  • 3
    I don't know how you got the impression that ConTeXt is sparsely documented; the context tag wiki has pointers to the excellent documentation. Jun 1, 2014 at 10:32
  • Martin - I should have said that its documentation struck me as a bit less beginner-friendly and systematic than that of LaTeX. Thanks for the pointers; I'll dive in.
    – crai_n
    Jun 2, 2014 at 0:03

1 Answer 1

6

Some exotic combination of ttf and otf fonts. Run it with xelatex or lualatex. However, if you do not have the fonts that I used choose other ones:

\documentclass[a4paper]{article}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{DejaVu Serif}
\usepackage{multido,blindtext,shapepar}

\begin{document}
\title{A demonstration}
\author{from me to you}
\maketitle
\setmainfont{MarsFrakturOT-Normal}
\blindtext

\setmainfont[Script=arab]{ArabicTypesetting}
\shapepar{\circleshape}
هناك بعض الأشكال مسبقا في shapepar.sty (مربع، مستطيل، دائرة،
دائرة مع حفرة، والماس، والقلب، نجمة، ومسدس عرافة الجوز) التي تستخدم في
الأمثلة في التعليمات أدناه. يتم تخزين كل من هذه الأشكال في ماكرو،
 shapepar.sty (مربع، مستطيل، دائرة،
دائرة مع حفرة، والماس، والقلب، نجمة، ومسدس عرافة الجوز) التي تستخدم في
الأمثلة في التعليمات أدناه. يتم تخزين كل من هذه الأشكال في ماكرو،
وهناك أمر لاستخدام هذا الشكل.\par

\setmainfont[Ligatures=TeX]{Linux Libertine O}
\shapepar{\heartshape}
There are some shapes predefined in shapepar.sty (square, rectangle, circle,
circle-with-hole, diamond, heart, star, hexagon and hex-nut) which are used as
examples in the instructions below. Each of these shapes is stored in a macro,
and there is a command to use that shape.\par

\setmainfont[Ligatures=TeX,Scale=4.1]{Arimo}
0.%
\multido{\rA=4.0+-0.2,\iB=1+1}{19}{\addfontfeatures{Scale=\rA}\iB}

\setmainfont[Ligatures=TeX,Scale=1]{Latin Modern Roman}
\end{document}

enter image description here

3
  • Thanks, that covers it. I gather I'll have access to more microtype features if I run it with LuaLaTeX rather than XeLaTeX?
    – crai_n
    Jun 1, 2014 at 7:27
  • 1
    That belongs to the features you want to use. In general you have more possibilities with LuaTeX.
    – user2478
    Jun 1, 2014 at 7:30
  • I would like to ask a new question about how to align and flow text around objects or with specific shapes with Latex or other layout programs. How do you call it technically?. For example I think in Latex there is something called cutout.
    – skan
    Feb 7, 2017 at 15:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .