13

Specific question

I would like to produce an italic f without the crossbar. Can I do this relatively straightforwardly?

This letter, esh (ʃ), is Unicode U+01A9, U+0283. The esh of tipa.sty only looks good with Computer Modern—I’m need it in Times—and, like all tipa characters, it lacks an italic version. The picture below shows that the resulting mishmash: improper kerning (fixable, I know), wrong thickness of stem, and terminals (bobbly bits at top and bottom) insufficiently circular.

All these problems would go away if I could just create a character identical to f in all respects, but without the crossbar. (This would obviously affect ligatures as well and I realize that I would need to address each ligatured f separately.)

General issue

Linguistic typography falls well below professional standards (even from some of the top publishers): linguistics demands lots of odd symbols (IPA, dialectological, etc.) and these must be italicized in main text (which may be Times, Minion, or other). However, tipa, the main means of accessing IPA in LaTeX, does not offer italics and exists only for Computer Modern. The fact most tex users are therefore forced to submit manuscripts that mix different fonts and shapes then meets the problem that publishing houses have not all invested in the right font sets or have not trained their copyeditors/typesetters to use them.

This might be more avoidable if there were (at least the bare bones) of font-independent specifications for (italic and roman) characters like ɳ (U+0273), ɲ (U+0272), ʁ (U+0281), and so on, which users could tweak to their personal ends. In consequence, general answers to the f question are just as welcome as specific ones.

enter image description here


Update. The “General issue” is now a separate question.

  • you might be interested in the tugboat article The rules for long s, by andrew west. it doesn't specifically address how to produce the letter, but since the article was prepared with latex, if you like how the "s" was treated in the article, i can look up the source and provide that information. – barbara beeton Jan 02 '13 at 20:14
  • Related: http://tex.stackexchange.com/q/77622/14100 Actually, if you take a close look at the font family used in the second image, it may have the character you're looking for. – Scott H. Jan 02 '13 at 20:19
  • 1
    The letter esh is a distinct symbol, an IPA phonetic character, and should not be confused with the issue of rendering the letter f. For the latter, you simply need a font that suits your needs, either in the default shape of the letter f or as an alternate form available using OpenType features. – Jukka K. Korpela Jan 02 '13 at 20:36
  • 1
    Just to be clear: Do you want an esh, or an italic 〈f〉 without the cross bar? (Or do you want to "abuse" an esh to serve as the latter?) – doncherry Jan 02 '13 at 21:14
  • @doncherry I want to abuse italic to serve as italic esh. Scott H.'s pointer below may make that unnecessary. Nonetheless, the general question about cobbling characters together out of existing others still stands. I'll leave the question as is for the moment, but I may post the "general issue" part separately in a few days' time, if, as until now, the esh question gets all the attention. – Daniel Harbour Jan 03 '13 at 11:21
  • @JukkaK.Korpela Clarification: Are you saying that OpenType features will allow me to address the general issue of creating new characters from parts of old ones? – Daniel Harbour Jan 03 '13 at 11:27
  • @barbarabeeton Scott H.'s suggestion makes it unnecessary to track down the source code. But thanks for the offer and, more especially, for the link to such an interesting piece of work. – Daniel Harbour Jan 03 '13 at 11:29
  • In general, the appropriate tool for modifying fonts is not TeX but FontForge (of course, this doesn't work if your publisher is supplying the font files) – Max Sep 03 '13 at 23:43

2 Answers2

6

I don't know anything about fonts, so I can't fully answer the question. However, a workaround might be to use kpfonts and replace your f's with s's. The following code gives: enter image description here

\documentclass{article}
\usepackage[nofligatures,veryoldstyle]{kpfonts}
\begin{document}
\emph{osten ossing}
\end{document}

It is likely that if the character above is suitable, then someone with the required low level knowledge will be able to turn this into an "automatic" solution for you (ie. no need to mess around with s's)

Scott H.
  • 11,047
  • 1
    I don't think that works the same way because you then don't have a difference between esh and s anymore and also esh should behave differently with regards to hyphenation i believe. – Max Jan 02 '13 at 20:40
  • 1
    @Max A regular s can be produced by appending an = sign as: s=cott. I assume that you're correct about the hyphenation etc. I posted this more as a comment with a picture, so that if the character was suitable, then someone could turn it into a real answer that takes such considerations into account. – Scott H. Jan 02 '13 at 20:44
  • @ScottH. This looks very promising. I need s much more than ʃ. So, I'm going to try to get long s by using \selectfont (which I can't remember how to use off the top of my head) and reassigning \ss. I'll post the results if successful. – Daniel Harbour Jan 03 '13 at 11:16
  • @ScottH. -- the long "s" should be ligatured, and the "st" in your example is very nice. but "ssi", or at least "si" should be treated the same way. (see the tugboat article referenced in my comment on the original question.) – barbara beeton Jan 03 '13 at 13:46
  • @barbarabeeton Good point, I hadn't noticed that the "si" didn't have a ligature. As you point out, it seems like it should...I wonder why that wasn't implemented. – Scott H. Jan 03 '13 at 16:11
3

Based on Scott H.’s pointer, I can give myself an italic esh by coopting an italic long s as follows. (The general issue—about creating characters from existing parts—remains. I’ll post a separate question about that.)

After invoking kpfonts.sty, I redefined \ss (as I don’t need ‘ß’) as a one-argument command:

\renewcommand{\ss}[1]{%                line 1
     \fontfamily{jkpvos}\selectfont%   line 2
     s#1%                              line 3
     \fontfamily{jkp}\selectfont%      line 4
     }%                                line 5

Line 2 switches into veryoldstyle, which makes long s available. Line 4 switches back out again. Line 3 puts s and the following character into veryoldstyle.

The point of making \ss a one-place command (line 1), rather than just calling long s, is to accommodate ligatures. For instance, \ss t gives the ligature shown in Scott H.’s answer and in the picture below. (This does mean, though, that you’ve got to watch out for \ss followed by accented characters: \ss\k{i} won’t compile; you have to go for \ss{}\k{i}, or similar, instead.)

The example below shows that s gives s (no need for =s, which would be a pain, as I want plain es much more than esh).

Other points:

  • As Barbara Beeton notes, there is esh-i no ligature in this font. Strange.

  • The Polish hook aligns properly with italic vowels (not the case in mathpmtx amongst others). That'll save a load of manual fiddling.

  • Italic v, w, y are kinky. I’m not a fan and would like to go back to Times. So, I’m still interested in a more general solution to building characters out of existing bits.


\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{kpfonts}

\renewcommand{\ss}[1]{\fontfamily{jkpvos}\selectfont s#1\fontfamily{jkp}\selectfont}

\begin{document}

\noindent \it 
s\ss t\ss{}\k{i}\ss{}\k{\'i}s \\
vwy

\end{document}

enter image description here

David Carlisle
  • 757,742
  • With \ss\k{i} the argument to \ss is \k; you should write \ss{\k{i}}. However, if a font doesn't have the character you need, you're basically out of luck. – egreg Jan 03 '13 at 17:45