newtx bijection is bijection
UPDATE
Version 1.631 (and later) of the NewTX fonts have fixed the issue.
Original answer
The current version of the text font ntx-Regular-tlf-t1
has
(LABEL C I)
(LIG C J O 234)
(STOP)
[...]
(LABEL C i)
(LIG C j O 274)
(KRN O 224 R -0.03)
(KRN C j R -0.035)
(KRN C T R -0.03)
(STOP)
Maybe the code above is cryptic, but it's what I get from tftopl
that shows tfm
files in (nearly) human readable form. The LABEL C i
instruction introduces ligatures and kerning for the character at ASCII position for i
as the first element.
Here LIG C j O 274
tells TeX that i
followed by j
should be replaced with the glyph sitting at slot octal 274 (in T1 encoding it's indeed the composite “ij” for Dutch). Instead KRN C T R -0.03
tells TeX that between i
and T
there should be a negative kern amounting to 3/100 of the design size (but this will be scaled by the magnification factor the font is loaded at). There is a KRN C j R -0.035
instruction, but since LIG C j
comes first, the latter is discarded.
In previous versions of newtxtext
fonts there is no ligature map for I
and for i
we read
(LABEL C i)
(KRN C j R -0.035)
(KRN O 224 R -0.03)
(KRN C T R -0.03)
(STOP)
Adding the ligatures I
+J
mapping to the character at octal 234 and i
+j
mapping to octal 274 is wrong.
The T1 encoding has indeed glyphs “IJ” and “ij” at those positions, but they're specific for the Dutch language and its capitalization rules. They should not be used as general ligatures. This oversight has to be fixed by the maintainer.
In the meantime, you can use microtype
to disable the wrong ligatures.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{newtxtext}%%% 2020/07/22 v1.628
\usepackage{microtype}
\DisableLigatures[I,i]{encoding=T1}
\begin{document}
bijection
\end{document}
Note that the kern is still applied. Disabling the ligature resurrects the kern mentioned above.
If you're free to employ LuaLaTeX to compile your document, you can employ the selnolig package to suppress the ij
ligature automatically if the newtxtext
text font package is in use.
If you compare the first and second word in each row, you'll notice that the kern between i
and j
is not affected by the operation of the selnolig package, even as the ligature is no longer there.
AFAICT, there are no good uses of the ij
-ligature in English-language documents, even for words which have a Latin root -- e.g., bijection
-- or which derive from another modern language, e.g., bijou
, jipijapa
(aka Panama hat), and Marijuana
(Maryjane -- what else could you possibly have in mind?).
% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{fontspec} % is required by 'selnolig'
\usepackage{newtxtext}
\usepackage{selnolig}
\begin{document}
bijection bi\kern0ptjection
\em bijection bi\kern0ptjection
\end{document}