3

I'm using a custom calligraphic font via newenvironemnt and manual encoding,... (thus without theh math package). It works quite well except when I try to write things bold. From looking around I've seen that there are 2 possibilities: a.) The font I'm using has no bold variant or b.) I'm doing something wrong there (thus with how I set things it overwrites all attempts to make the text bold).

So my question here is twofold: Am I doing something wrong there or if not and I'm really using the wrong font, which font would be better applicable there for what I want to do (having calligraphic fonts in a book and being able to also bold the text)?

\documentclass[10pt,a4paper,BCOR10mm,DIV11,toc=listof,parskip=full, openany]{scrbook}


\newenvironment{calligraphic}%
{
\fontencoding{T1}
\fontfamily{pzc}
\fontseries{m}
\fontshape{it}
\fontsize{12pt}{12pt}
\selectfont
}
{}%

\renewcommand*{\sectfont}{\normalcolor\usefont{T1}{pzc}{m}{it}}

\begin{document}
   \begin{calligraphic}
   \chapter{test1}
   Test \textbf{this is bold}
   \end{calligraphic}
   Test2 \textbf{this is bold}
\end{document}

Edit: I added a chapter there not sure if its only optical illusion but interestingly chapters SEEM bold there. Edit after Johannes comment: was only an optical illusion because of the size it looks bold but is only a sideeffect of the size itself.

4
  • An alternative could be TeX Gyre Chorus, but this also has no bold variant. If you think of it, why would you bold something in handwriting? – Johannes_B Aug 1 '14 at 6:44
  • It is an rpg game sourcebook (fantasy). Alternatively I could use the normal font for bold text but tbh I don't like mixing two font types too much (didnt see many good examples in the past where ppl used 2 types of fonts (except 1 for titles and 1 for normal text)). And I need bold or an aequivalent for marking specific things like for example : bold{species traits} trait modifiers – Thomas Aug 1 '14 at 6:48
  • \newcommand{\filler}{To be, or not to be?\par} {\small \filler} {\normalsize \filler} {\large \filler} {\Large \filler} {\Huge \filler} – Johannes_B Aug 1 '14 at 7:17
  • tnx @Johannes_B that cleared it with the chapter that it is only the size that makes it look bold without it being so. – Thomas Aug 1 '14 at 7:22
2

Proper kerning is not preserved with this approach (nor hyphenation), but it may still suffice. It does line wrapping.

I achieve the result by overlaying the character with a shifted version of itself. Shift is controlled by \defs of \calup and \calover. The macro to use is \calbf.

The helper routine \calbfhelpA parses the interword spaces, while \calbfhelpB parses the characters of each word.

With this implementation, the font spacing is not widened. However, if one wishes to allow the font spacing to widen, just change the value of \useanchorwidth to {F}.

Obviously, the key here is to be subtle with the shifting. Too much, and it looks awful.

\documentclass[10pt,a4paper,BCOR10mm,DIV11,toc=listof,parskip=full, openany]{scrbook}
\usepackage{stackengine}
\def\useanchorwidth{T}
\def\stacktype{L}
\def\stackalignment{l}
\def\calup{.2pt}
\def\calover{.15pt}
\def\calbf#1{\calbfhelpA#1 \relax\relax}
\def\calbfhelpA#1 #2\relax{%
  \calbfhelpB#1\relax\relax%
  \ifx\relax#2\else\ \calbfhelpA#2\relax\fi
}
\def\calbfhelpB#1#2\relax{%
  \stackon[\calup]{#1}{\kern\calover#1}%
  \ifx\relax#2\else
    \calbfhelpB#2\relax%
  \fi
}
\newenvironment{calligraphic}%
{\fontencoding{T1}\fontfamily{pzc}\fontseries{m}\fontshape{it}\fontsize{12pt}{12pt}\selectfont}{}%
\renewcommand*{\sectfont}{\normalcolor\usefont{T1}{pzc}{m}{it}}
\begin{document}
   \begin{calligraphic}
   \chapter{test1}
   Test \textbf{this is not bold}\par
   Test \calbf{this is bold with .2pt up shift and .15pt right shift}\par
 \def\calup{.0pt}
 \def\calover{.2pt}
   Test \calbf{this is bold with .0pt up shift and .2pt right shift}\par
   \calbf{cvxc This is a test. This is a test. This is a test. This is a test. 
    This is a test. This is a test. This is a test. This is a test. This is a 
    test. This is a test. This is a test. This fdsfsd is a test. This is a test. 
    This is a test. This is a test. This is adfsdf  test. This is a test. }
   \end{calligraphic}\par
   Test2 \textbf{this is bold}
\end{document}

ZOOM: enter image description here

LINE WRAPPING: enter image description here

9
  • Just tried it works very nicely tnx – Thomas Aug 1 '14 at 12:30
  • I fear I have fouund a bug there. If I write \calbf{Ageless} the double s is not printed. same for double l – Thomas Aug 2 '14 at 12:48
  • @Thomas One workaround is {s}s and {i}i. I'm not sure if the problem is with ligatures or something different. – Steven B. Segletes Aug 2 '14 at 12:52
  • @Thomas Incidentally, this same workaround can be used for diacritics, such as \calbf{Ich bin m{\"u}de}. The inner braces force the routine to consider the braced quantity as an entity. In the case of \"u, treating it as one, rather than two characters. – Steven B. Segletes Aug 2 '14 at 12:56
  • @Thomas Well, I don't think it is ligatures, because any repeated letter exhibits the problem. That's good. It means the problem is likely in my logic, and thus fixable. – Steven B. Segletes Aug 2 '14 at 13:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.