9

I'm looking to use an ornamental drop-caps using Zallman Caps and the lettrine package. However Zallman Caps doesn't have all characters I'm interested. In particular, I'm interested in placing accents above and below the first character when unavailable. I have tried both using the precomposed unicode character as well as using combining diacritics but both have not worked so far.

Here is my code:

\documentclass[11pt]{article}
\usepackage{fontspec,lettrine}

\newfontfamily\zallman[Scale=4.2]{ZallmanCaps}
\renewcommand*{\LettrineFont}{\zallman}
\begin{document}

\lettrine[lines=3]{S}ecunderabad popularly known as the twin city of Hyderabad is located in the Indian state of Telangana. Named after Sikandar Jah, the third Nizam of the Asaf Jahi dynasty, Secunderabad was founded in 1806 as a British cantonment.

\lettrine[lines=3]{Ś}ecunderabad popularly known as the twin city of Hyderabad is located in the Indian state of Telangana. Named after Sikandar Jah, the third Nizam of the Asaf Jahi dynasty, Secunderabad was founded in 1806 as a British cantonment.

\lettrine[lines=3]{\'{S}}ecunderabad popularly known as the twin city of Hyderabad is located in the Indian state of Telangana. Named after Sikandar Jah, the third Nizam of the Asaf Jahi dynasty, Secunderabad was founded in 1806 as a British cantonment.
\end{document}

and this is the output I get:

enter image description here

whereas I am hoping to get something like:

enter image description here

Is there a way to get this using positional hacks in latex, or alternatively is there a different ornamental font I can use for this?

  • 1
    Apparently the font has no accents. – egreg Mar 29 '15 at 19:46
  • 1
    Cinzel Decorative (ndiscovered.com) is a free font that has Ś; I don’t know whether it’s sufficiently decorative for your purposes and complements whatever you’ve chosen as your main font. – Thérèse Mar 29 '15 at 21:07
11

If you are willing to buy a font, some sites let you search for the existence of a particular character (e.g., myfonts.com). But you won’t find many sets of ornamental initials that include Ś.

If you have a font with the combining acute accent, all is well. Here’s an example with Eadui, a free font.

\documentclass[12pt,a5paper]{book}
\usepackage{fontspec,lettrine,xcolor}
\newfontface\eadui{Eadui}[
  Color=2F6D83]
\newfontface\eaduifill{Eadui Fill}[
  Color=CFC598]
\renewcommand{\LettrineFontHook}{\eadui}
\setcounter{DefaultLines}{3}
\renewcommand{\DefaultLoversize}{.15}
\begin{document}
% type S followed by U+0301, the combining acute accent
\lettrine{Ś\llap{\eaduifill S}}{ecunderabad} popularly known as
the twin city of Hyderabad is located in the Indian state of
Telangana. Named after Sikandar Jah, the third Nizam of the Asaf Jahi
dynasty, Secunderabad was founded in 1806 as a British cantonment.
\end{document}

output

That’s not an appropriate font for the subject of your paragraph, but it illustrates the technique.

With ZallmanCaps, you can call upon newunicodechar, but you’ll have to do some adjusting by hand, since the Latin Modern acute accent doesn’t land in the right spot for ZallmanCaps:

\documentclass[12pt,a5paper]{book}
\usepackage{fontspec,lettrine,newunicodechar}
\newunicodechar{́}{{\normalfont ́}}
\newfontface\zallman{ZallmanCaps}
\renewcommand{\LettrineFontHook}{\zallman}
\setcounter{DefaultLines}{3}
\renewcommand{\DefaultLoversize}{.15}
\begin{document}
% type S followed by U+0301, the combining acute accent
\lettrine{Ś}{ecunderabad} popularly known as the twin city of
Hyderabad is located in the Indian state of Telangana. Named after
Sikandar Jah, the third Nizam of the Asaf Jahi dynasty, Secunderabad
was founded in 1806 as a British cantonment.

\lettrine[findent=.6em]{S\hspace{-.175em}\raisebox{.7ex}{́}}{ecunderabad}
popularly known as the twin city of Hyderabad is located in the Indian
state of Telangana. Named after Sikandar Jah, the third Nizam of the
Asaf Jahi dynasty, Secunderabad was founded in 1806 as a British
cantonment.
\end{document}

output

Note that \lettrine has two arguments; using only one is why you got a small cap for the first letter after the lettrine. By the way, despite the tweaking required by this approach, pdftotext correctly extracts Ś from the PDF.

4

Here, I stack a box that contains a rendition of the accent. I introduce \accentletter[\accentbox]{letter} to accomplish the task, where the user creates various \accentboxes to meet his/her needs.

I used \smash on my \accentbox definitions so as not to disturb line spacing, but that is a choice left up to the taste of the user.

\documentclass[11pt]{article}
\usepackage{fontspec,lettrine,stackengine}

\newfontfamily\zallman[Scale=4.2]{ZallmanCaps}
\renewcommand*{\LettrineFont}{\zallman}
\newsavebox\primebox
\savebox\primebox{\smash{\scalebox{3}[1]{$\prime$}}}
\newsavebox\circbox
\savebox\circbox{\smash{\scalebox{1.3}[1.3]{$\circ$}}}
\newcommand\accentletter[2][\primebox]{\stackon[1pt]{#2}{\usebox{#1}}}
\begin{document}

\lettrine[lines=3]{S}{ecunderabad} popularly known as the twin city of Hyderabad is located in the Indian state of Telangana. Named after Sikandar Jah, the third Nizam of the Asaf Jahi dynasty, Secunderabad was founded in 1806 as a British cantonment.

\lettrine[lines=3]{\accentletter{S}}{ecunderabad} popularly known as the twin city of Hyderabad is located in the Indian state of Telangana. Named after Sikandar Jah, the third Nizam of the Asaf Jahi dynasty, Secunderabad was founded in 1806 as a British cantonment.

\lettrine[lines=3]{\accentletter[\circbox]{A}}{lso} Secunderabad popularly known as the twin city of Hyderabad is located in the Indian state of Telangana. Named after Sikandar Jah, the third Nizam of the Asaf Jahi dynasty, Secunderabad was founded in 1806 as a British cantonment.
\end{document}

enter image description here

4

Zallman Caps is installed as part of TeX Live in the form of a type1 font. There is no .sty file but the support files for use with LaTeX are all there and the .sty is easy to write.

Here's a version which I compiled with pdfLaTeX:

\documentclass[11pt]{article}
\begin{filecontents}{Zallman.sty}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{Zallman}[2007/11/24 v1.0 Zallman CFR]

\input Zallman.fd

\DeclareRobustCommand{\Zallmanfamily}{%
        \fontencoding{U}%
        \fontseries{xl}%
        \fontshape{n}%
        \fontfamily{Zallman}%
        \selectfont}
\DeclareTextFontCommand{\zall}{\Zallmanfamily}

\endinput
%% end Zallman.sty
\end{filecontents}
\usepackage[utf8]{inputenc}
\usepackage{lettrine,Zallman}


\renewcommand{\LettrineFontHook}{\Zallmanfamily}
\begin{document}

  \lettrine[lines=3]{S}{ecunderabad} popularly known as the twin city of Hyderabad is located in the Indian state of Telangana. Named after Sikandar Jah, the third Nizam of the Asaf Jahi dynasty, Secunderabad was founded in 1806 as a British cantonment.

  \lettrine[lines=3]{Ś}{ecunderabad} popularly known as the twin city of Hyderabad is located in the Indian state of Telangana. Named after Sikandar Jah, the third Nizam of the Asaf Jahi dynasty, Secunderabad was founded in 1806 as a British cantonment.

  \lettrine[lines=3]{\'{S}}{ecunderabad} popularly known as the twin city of Hyderabad is located in the Indian state of Telangana. Named after Sikandar Jah, the third Nizam of the Asaf Jahi dynasty, Secunderabad was founded in 1806 as a British cantonment.
\end{document}

Zallman with accents

Note that the file date on the package is correct - I wrote .sty files for the ornamental initials provided by TeX Live when I was learning how to do font installation for (pdf)LaTeX.

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.