latex3 / fontspec

Font selection in LaTeX for XeTeX and LuaTeX
http://latex3.github.io/fontspec/
LaTeX Project Public License v1.3c
277 stars 34 forks source link

Numbers=OldStyle broken? #376

Closed uhoefel closed 2 years ago

uhoefel commented 5 years ago

Description

The following MWE produces only lining numbers for me, although it should produce OldStyle numerals.

Check/indicate

Minimal example demonstrating the issue

\listfiles
\documentclass{minimal}
\usepackage{fontspec}
\setmainfont{Libertinus Serif}[Numbers={OldStyle}]
\begin{document}
    1234567890
\end{document}

The listed files (should correspond to an up-to-date Miktex):

 *File List*
 minimal.cls    2001/05/25 Standard LaTeX minimal class
fontspec.sty    2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX
  xparse.sty    2019-05-28 L3 Experimental document command parser
   expl3.sty    2019-07-25 L3 programming layer (loader)
expl3-code.tex    2019-07-25 L3 programming layer
l3backend-pdfmode.def    2019-04-06 v L3 Experimental backend support: PDF mode
fontspec-luatex.sty    2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX
 fontenc.sty
   tuenc.def    2018/08/11 v2.0j Standard LaTeX file
fontspec.cfg
 ***********

Also breaks for (at least) Minion Pro. However, switching to \setmainfont{Libertinus Serif}[RawFeature=-lnum;+onum] enables the OldStyle numerals correctly.

eg9 commented 5 years ago

Your very same example outputs

Screen Shot 2019-08-03 at 19 32 00

on my system. This is the file list:

 *File List*
 minimal.cls    2001/05/25 Standard LaTeX minimal class
fontspec.sty    2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX
  xparse.sty    2019-05-28 L3 Experimental document command parser
   expl3.sty    2019-07-25 L3 programming layer (loader) 
expl3-code.tex    2019-07-25 L3 programming layer 
l3backend-xdvipdfmx.def    2019-04-06 v L3 Experimental backend support: xdvipd
fmx
fontspec-luatex.sty    2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX
 fontenc.sty
   tuenc.def    2018/08/11 v2.0j Standard LaTeX file
fontspec.cfg
 ***********

The same output with both LuaLaTeX and XeLaTeX.

uhoefel commented 5 years ago

Using XeLaTeX or LuaLaTeX? I get the correct output using XeTeX as well, but not with LuaLaTeX.

eg9 commented 5 years ago

@uhoefel With both engines. What's the output of luaotfload-tool --version? You should also find the version number in the log file. I get 2.98.

uhoefel commented 5 years ago
luaotfload-tool:
        Luaotfload font management and diagnostic utility.
        License: GNU GPL v2.0.
        Report problems to <https://github.com/lualatex/luaotfload/issues>

luaotfload-tool version: "2.98"
Luaotfload: "v2.98"
Revision: "aed2845ed28088243e91589a2707e3c0d8a12e50"
Lua interpreter: stock; version "Lua 5.3"
Luatex version: 1.10
Platform: type=windows name=windows
    +  machine: unknown
    + nodename: D
    +  release: build 18362
    +  sysname: Windows 10
    +  version: 10.00
Index: version=-1 created="2018-09-30 23:14:56" modified="2019-06-19 17:07:07"
Kiwiengr commented 5 years ago

My LuaLaTeX configuration worked well for several months, then after the latest MiKTeX updates a few days ago, several things suddenly broke, including Erewhon oldstylenums, Erewhon fractions, and a loss of ligatures caused by the use of fontspec to enable fractions when needed (which most disastrously removed the overlap in -- and ---, let alone fi ff fl, etc.). Uhoefel's MWE gives same result for me: inline figures, whereas it should show oldstyle figures. I also get the same wrong result when I configure his MWE for Erewhon (and the \oldstylenums{} macro), see below. For the record, my file list is identical to his, and my luotfload is v. 2.98 (see below). The \oldstylenums{ } macro also broke with the MikTeX update, and had been working in hundreds of instances in my current book project, which now compiles in its entirety (1000 pages spread over seven part files) in LuaLaTeX (before I adopted LuaLaTeX, my up-to-date pdfLaTeX would fail with "insufficient memory" with more than one lstlistings environment not commented out, even though all listings of Mathematica code would work individually, but that is another issue, and nicely fixed by LuaLaTeX),

File List minimal.cls 2001/05/25 Standard LaTeX minimal class fontspec.sty 2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX xparse.sty 2019-05-28 L3 Experimental document command parser expl3.sty 2019-07-25 L3 programming layer (loader) expl3-code.tex 2019-07-25 L3 programming layer l3backend-pdfmode.def 2019-04-06 v L3 Experimental backend support: PDF mode fontspec-luatex.sty 2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX fontenc.sty tuenc.def 2018/08/11 v2.0j Standard LaTeX file fontspec.cfg


Name: luaotfload Date: Sat Jul 20 13:20:08 2019 Version: 2.98 Maintainer: PRAGMA ADE / ConTeXt Development Team Size: 7.56 MiB

% MWE for oldstylenums problem
\listfiles
\documentclass{minimal}
\usepackage{fontspec}
\setmainfont{Erewhon}[Numbers={OldStyle}]
\begin{document}
    1234567890\\
    \oldstylenums{0123456789}
\end{document}

The following is an MWE for the loss of ligatures (it is self-documenting):

\listfiles
\documentclass{minimal}
\usepackage{fontspec}
\usepackage{booktabs}
\setmainfont{Erewhon}[UprightFont=Erewhon-Regular]
\setsansfont{TeXGyreHeros}[UprightFont=TeXGyreHeros-Regular]
\begin{document}
sans ff -- --- \\
\textsf{fi ff fl -- --- }\\
Fractions test: \fontspec[Fractions=On]{Erewhon}2/3 and 12345/67890 \textsf{ -- --- }\fontspec[Fractions=Off]{Erewhon}\\ % since last update, fractions broken
fi ff fl -- --- \\ % after the above fractions test line, ligatures no longer working in Erewhon
\textsf{sans ff -- --- }\\ % however, ligatures still working in sans
fi ff fl -- --- \\ % after the above fractions test line, ligatures no longer working in Erewhon
\textnormal{fi ff fl -- ---} \\ % ligatures are magically back
fi ff fl -- --- \\ % still gone in default text. I think you'd agree it would be a pain to have to specify textnormal { } for all default text
\end{document}

I have attached a pdf with its output. Lost Ligatures MWE2.pdf

Kiwiengr commented 5 years ago

Also clobbered in the same MikTeX/LuaLaTeX update: SMALL CAPS Here is an MWE:

% MWE2 for smallcaps problem
\listfiles
\documentclass{minimal}
\usepackage{fontspec}
\setmainfont{Erewhon}
\begin{document}
    \textsc{Good Night}
\end{document}

The output from this LuaLaTeX MWE is ordinary upper and lowercase text: Good Night

My system is Windows10 home, 64-bit, 10.0.17763 Build 17763, 8 GiB physical memory. My MikeTeX/LuaLaTeX differs from the one used in my previous two MWEs only as a result of a metalogox update yestersday.

The smallcaps MWE log file follows below: This is LuaTeX, Version 1.10.1 (MiKTeX 2.9.7140 64-bit) (format=lualatex 2019.8.10) 11 AUG 2019 12:33 restricted system commands enabled. **"MWE2 smallcaps.tex" ("./MWE2 smallcaps.tex" LaTeX2e <2018-12-01> Lua module: luaotfload-main 2019-07-04 2.98 luaotfload entry point Lua module: luaotfload-init 2019-07-04 2.98 luaotfload submodule / initializatio n Lua module: lualibs 2019-07-04 2.66 ConTeXt Lua standard libraries. Lua module: lualibs-extended 2019-07-04 2.66 ConTeXt Lua libraries -- extended c ollection. Lua module: luaotfload-log 2019-07-04 2.98 luaotfload submodule / logging Lua module: luaotfload-parsers 2019-07-04 2.98 luaotfload submodule / filelist Lua module: luaotfload-configuration 2019-07-04 2.98 luaotfload submodule / conf ig file reader luaotfload | conf : Root cache directory is C:/Users/aroxb/AppData/Local/MiKTeX/ 2.9/luatex-cache/generic/names. luaotfload | init : Loading fontloader “fontloader-2019-07-04.lua” from kpse -resolved path “C:/Program Files/MiKTeX 2.9/tex/luatex/luaotfload/fontloader-2 019-07-04.lua”. Lua-only attribute luaotfload@state = 2 Lua-only attribute luaotfload@noligature = 3 Lua-only attribute luaotfload@syllabe = 4 luaotfload | init : Context OpenType loader version “3.108” Inserting luaotfload.node_processor' at position 1 inpre_linebreak_filter'. Inserting luaotfload.node_processor' at position 1 inhpack_filter'. Lua module: luaotfload-loaders 2019-07-04 2.98 luaotfload submodule / callback h andling Inserting luaotfload.define_font' at position 1 indefine_font'. Lua module: luaotfload-database 2019-07-04 2.98 luaotfload submodule / database Lua module: luaotfload-colors 2019-07-04 2.98 luaotfload submodule / color Lua-only attribute luaotfload_color_attribute = 5 Lua module: luaotfload-resolvers 2019-07-04 2.98 luaotfload submodule / resolver s luaotfload | conf : Root cache directory is C:/Users/aroxb/AppData/Local/MiKTeX/ 2.9/luatex-cache/generic/names. Lua module: luaotfload-features 2019-07-04 2.98 luaotfload submodule / features Lua module: luaotfload-letterspace 2019-07-04 2.98 luaotfload submodule / color Lua module: luaotfload-embolden 2019-07-04 2.98 luaotfload submodule / color Lua module: luaotfload-notdef 2019-07-04 2.98 luaotfload submodule / color Lua module: luaotfload-auxiliary 2019-07-04 2.98 luaotfload submodule / auxiliar y functions Inserting luaotfload.aux.set_sscale_dimens' at position 1 inluaotfload.patch_ font'. Inserting luaotfload.aux.patch_cambria_domh' at position 2 inluaotfload.patch _font'. Inserting luaotfload.aux.fixup_fontdata' at position 1 inluaotfload.patch_fon t_unsafe'. Inserting luaotfload.aux.set_capheight' at position 3 inluaotfload.patch_font '. Inserting luaotfload.aux.set_xheight' at position 4 inluaotfload.patch_font'. Inserting luaotfload.rewrite_fontname' at position 5 inluaotfload.patch_font' . luaotfload | main : initialization completed in 2.805 seconds ("C:/Program Files/MiKTeX 2.9/tex/latex/base/minimal.cls" Document Class: minimal 2001/05/25 Standard LaTeX minimal class ) ("C:/Program Files/MiKTeX 2.9/tex/latex/fontspec/fontspec.sty" ("C:/Program Files/MiKTeX 2.9/tex/latex/l3packages/xparse/xparse.sty" ("C:/Program Files/MiKTeX 2.9/tex/latex/l3kernel/expl3.sty" Package: expl3 2019-07-25 L3 programming layer (loader)

("C:/Program Files/MiKTeX 2.9/tex/latex/l3kernel/expl3-code.tex" Package: expl3 2019-07-25 L3 programming layer (code) \ucharcat@table=\catcodetable5 \c_max_int=\count80 \l_tmpa_int=\count81 \l_tmpb_int=\count82 \g_tmpa_int=\count83 \g_tmpb_int=\count84 \gkernel_prg_map_int=\count85 \cior_term_ior=\count86 \c_log_iow=\count87 \l_iow_line_count_int=\count88 \liow_line_target_int=\count89 \liow_one_indent_int=\count90 \liow_indent_int=\count91 \c_zero_dim=\dimen102 \c_max_dim=\dimen103 \l_tmpa_dim=\dimen104 \l_tmpb_dim=\dimen105 \g_tmpa_dim=\dimen106 \g_tmpb_dim=\dimen107 \c_zero_skip=\skip41 \c_max_skip=\skip42 \l_tmpa_skip=\skip43 \l_tmpb_skip=\skip44 \g_tmpa_skip=\skip45 \g_tmpb_skip=\skip46 \c_zero_muskip=\muskip10 \c_max_muskip=\muskip11 \l_tmpa_muskip=\muskip12 \l_tmpb_muskip=\muskip13 \g_tmpa_muskip=\muskip14 \g_tmpb_muskip=\muskip15 \l_keys_choice_int=\count92 \lintarray_loop_int=\count93 \cintarray_sp_dim=\dimen108 \gintarray_font_int=\count94 \cfp_leading_shift_int=\count95 \cfp_middle_shift_int=\count96 \cfp_trailing_shift_int=\count97 \cfp_big_leading_shift_int=\count98 \cfp_big_middle_shift_int=\count99 \cfp_big_trailing_shift_int=\count100 \cfp_Bigg_leading_shift_int=\count101 \cfp_Bigg_middle_shift_int=\count102 \cfp_Bigg_trailing_shift_int=\count103 \gfp_array_int=\count104 \lfp_array_loop_int=\count105 \lsort_length_int=\count106 \lsort_min_int=\count107 \lsort_top_int=\count108 \lsort_max_int=\count109 \lsort_true_max_int=\count110 \lsort_block_int=\count111 \lsort_begin_int=\count112 \lsort_end_int=\count113 \lsort_A_int=\count114 \lsort_B_int=\count115 \lsort_C_int=\count116 \lstr_internal_int=\count117 \ltl_analysis_normal_int=\count118 \ltl_analysis_index_int=\count119 \l__tl_analysis_nesting_int=\count120 \ltl_analysis_type_int=\count121 \lregex_internal_a_int=\count122 \l__regex_internal_b_int=\count123 \lregex_internal_c_int=\count124 \lregex_balance_int=\count125 \lregex_group_level_int=\count126 \lregex_mode_int=\count127 \cregex_cs_in_class_mode_int=\count128 \cregex_cs_mode_int=\count129 \lregex_catcodes_int=\count130 \lregex_default_catcodes_int=\count131 \cregex_catcode_L_int=\count132 \cregex_catcode_O_int=\count133 \c__regex_catcode_A_int=\count134 \cregex_all_catcodes_int=\count135 \lregex_show_lines_int=\count136 \l__regex_min_state_int=\count137 \lregex_max_state_int=\count138 \lregex_left_state_int=\count139 \l__regex_right_state_int=\count140 \lregex_capturing_group_int=\count141 \lregex_min_pos_int=\count142 \l__regex_max_pos_int=\count143 \lregex_curr_pos_int=\count144 \lregex_start_pos_int=\count145 \l__regex_success_pos_int=\count146 \lregex_curr_char_int=\count147 \lregex_curr_catcode_int=\count148 \l__regex_last_char_int=\count149 \lregex_case_changed_char_int=\count150 \lregex_curr_state_int=\count151 \lregex_step_int=\count152 \lregex_min_active_int=\count153 \lregex_max_active_int=\count154 \lregex_replacement_csnames_int=\count155 \l__regex_match_count_int=\count156 \lregex_min_submatch_int=\count157 \lregex_submatch_int=\count158 \lregex_zeroth_submatch_int=\count159 \gregex_trace_regex_int=\count160 \c_empty_box=\box27 \l_tmpa_box=\box28 \l_tmpb_box=\box29 \g_tmpa_box=\box30 \g_tmpb_box=\box31 \lbox_top_dim=\dimen109 \lbox_bottom_dim=\dimen110 \lbox_left_dim=\dimen111 \lbox_right_dim=\dimen112 \l__box_top_new_dim=\dimen113 \lbox_bottom_new_dim=\dimen114 \lbox_left_new_dim=\dimen115 \l__box_right_new_dim=\dimen116 \lbox_internal_box=\box32 \lcoffin_internal_box=\box33 \lcoffin_internal_dim=\dimen117 \lcoffin_offset_x_dim=\dimen118 \l__coffin_offset_y_dim=\dimen119 \lcoffin_x_dim=\dimen120 \lcoffin_y_dim=\dimen121 \lcoffin_x_prime_dim=\dimen122 \lcoffin_y_prime_dim=\dimen123 \c_empty_coffin=\box34 \lcoffin_aligned_coffin=\box35 \lcoffin_aligned_internal_coffin=\box36 \l_tmpa_coffin=\box37 \l_tmpb_coffin=\box38 \g_tmpa_coffin=\box39 \g_tmpb_coffin=\box40 \lcoffin_bounding_shift_dim=\dimen124 \lcoffin_left_corner_dim=\dimen125 \l__coffin_right_corner_dim=\dimen126 \lcoffin_bottom_corner_dim=\dimen127 \lcoffin_top_corner_dim=\dimen128 \lcoffin_scaled_total_height_dim=\dimen129 \lcoffin_scaled_width_dim=\dimen130 \ccoffin_empty_coffin=\box41 \lcoffin_display_coffin=\box42 \lcoffin_display_coord_coffin=\box43 \lcoffin_display_pole_coffin=\box44 \l__coffin_display_offset_dim=\dimen131 \lcoffin_display_x_dim=\dimen132 \lcoffin_display_y_dim=\dimen133 \gfile_internal_ior=\read1 \lseq_internal_a_int=\count161 \lseq_internal_b_int=\count162 ) ("C:/Program Files/MiKTeX 2.9/tex/latex/l3backend/l3backend-pdfmode.def" File: l3backend-pdfmode.def 2019-04-06 v L3 Experimental backend support: PDF mo de \lkernel_color_stack_int=\count163 \lpdf_internal_box=\box45 )) Package: xparse 2019-05-28 L3 Experimental document command parser \lxparse_current_arg_int=\count164 \gxparse_grabber_int=\count165 \lxparse_m_args_int=\count166 \l__xparse_v_nesting_int=\count167 ) Package: fontspec 2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX Lua module: fontspec 2019/03/15 2.7c Font selection for XeLaTeX and LuaLaTeX ("C:/Program Files/MiKTeX 2.9/tex/latex/fontspec/fontspec-luatex.sty" Package: fontspec-luatex 2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTe X \lfontspec_script_int=\count168 \lfontspec_language_int=\count169 \lfontspec_strnum_int=\count170 \lfontspec_tmp_int=\count171 \lfontspec_tmpa_int=\count172 \lfontspec_tmpb_int=\count173 \lfontspec_tmpc_int=\count174 \lfontspec_em_int=\count175 \lfontspec_emdef_int=\count176 \lfontspec_strong_int=\count177 \lfontspec_strongdef_int=\count178 \lfontspec_tmpa_dim=\dimen134 \lfontspec_tmpb_dim=\dimen135 \l__fontspec_tmpc_dim=\dimen136

("C:/Program Files/MiKTeX 2.9/tex/latex/base/fontenc.sty" Package: fontenc 2018/08/11 v2.0j Standard LaTeX package

("C:/Program Files/MiKTeX 2.9/tex/latex/base/tuenc.def" File: tuenc.def 2018/08/11 v2.0j Standard LaTeX file LaTeX Font Info: Redeclaring font encoding TU on input line 82. ) luaotfload | db : Font names database loaded from C:/Users/aroxb/AppData/Local/M iKTeX/2.9/luatex-cache/generic/names/luaotfload-names.luc) ("C:/Program Files/MiKTeX 2.9/tex/latex/fontspec/fontspec.cfg") LaTeX Info: Redefining \itshape on input line 3783. LaTeX Info: Redefining \slshape on input line 3788. LaTeX Info: Redefining \scshape on input line 3793. LaTeX Info: Redefining \upshape on input line 3798. LaTeX Info: Redefining \em on input line 3828. LaTeX Info: Redefining \emph on input line 3853. )) ("C:/Program Files/MiKTeX 2.9/tex/latex/erewhon/Erewhon.fontspec") luaotfload | cache : Lookup cache loaded from C:/Users/aroxb/AppData/Local/MiKTe X/2.9/luatex-cache/generic/names/luaotfload-lookup-cache.luc. ("C:/Program Files/MiKTeX 2.9/tex/latex/erewhon/Erewhon.fontspec") ("C:/Program Files/MiKTeX 2.9/tex/latex/erewhon/Erewhon.fontspec") luaotfload | aux : no font with id -1 luaotfload | aux : no font with id -1 luaotfload | aux : no font with id -1 luaotfload | aux : no font with id -1

Package fontspec Info: Font family 'Erewhon(0)' created for font 'Erewhon' (fontspec) with options [Ligatures=TeX]. (fontspec)
(fontspec) This font family consists of the following NFSS (fontspec) series/shapes: (fontspec)
(fontspec) - 'normal' (m/n) with NFSS spec.: (fontspec) <->"Erewhon:mode=node;script=latn;language=DFLT;+tlig;" (fontspec) - 'small caps' (m/sc) with NFSS spec.: (fontspec) - 'bold' (bx/n) with NFSS spec.: (fontspec) <->"Erewhon/B:mode=node;script=latn;language=DFLT;+tlig;"

(fontspec) - 'bold small caps' (bx/sc) with NFSS spec.: (fontspec) - 'italic' (m/it) with NFSS spec.: (fontspec) <->"Erewhon/I:mode=node;script=latn;language=DFLT;+tlig;"

(fontspec) - 'italic small caps' (m/itsc) with NFSS spec.: (fontspec) - 'bold italic' (bx/it) with NFSS spec.: (fontspec) <->"Erewhon/BI:mode=node;script=latn;language=DFLT;+tlig; " (fontspec) - 'bold italic small caps' (bx/itsc) with NFSS spec.:

LaTeX Info: Redefining \rmfamily on input line 6.

No file "MWE2 smallcaps".aux.

\openout1 = MWE2 smallcaps.aux LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 6. LaTeX Font Info: ... okay on input line 6. LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 6. LaTeX Font Info: ... okay on input line 6. LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 6. LaTeX Font Info: ... okay on input line 6. LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 6. LaTeX Font Info: ... okay on input line 6. LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 6. LaTeX Font Info: ... okay on input line 6. LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 6. LaTeX Font Info: ... okay on input line 6. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 6. LaTeX Font Info: ... okay on input line 6.

Package fontspec Info: Adjusting the maths setup (use [no-math] to avoid (fontspec) this).

\symlegacymaths=\mathgroup4 LaTeX Font Info: Overwriting symbol font legacymaths' in versionbold' (Font) OT1/cmr/m/n --> OT1/cmr/bx/n on input line 6. LaTeX Font Info: Redeclaring math accent \acute on input line 6. LaTeX Font Info: Redeclaring math accent \grave on input line 6. LaTeX Font Info: Redeclaring math accent \ddot on input line 6. LaTeX Font Info: Redeclaring math accent \tilde on input line 6. LaTeX Font Info: Redeclaring math accent \bar on input line 6. LaTeX Font Info: Redeclaring math accent \breve on input line 6. LaTeX Font Info: Redeclaring math accent \check on input line 6. LaTeX Font Info: Redeclaring math accent \hat on input line 6. LaTeX Font Info: Redeclaring math accent \dot on input line 6. LaTeX Font Info: Redeclaring math accent \mathring on input line 6. LaTeX Font Info: Redeclaring math symbol \colon on input line 6. LaTeX Font Info: Redeclaring math symbol \Gamma on input line 6. LaTeX Font Info: Redeclaring math symbol \Delta on input line 6. LaTeX Font Info: Redeclaring math symbol \Theta on input line 6. LaTeX Font Info: Redeclaring math symbol \Lambda on input line 6. LaTeX Font Info: Redeclaring math symbol \Xi on input line 6. LaTeX Font Info: Redeclaring math symbol \Pi on input line 6. LaTeX Font Info: Redeclaring math symbol \Sigma on input line 6. LaTeX Font Info: Redeclaring math symbol \Upsilon on input line 6. LaTeX Font Info: Redeclaring math symbol \Phi on input line 6. LaTeX Font Info: Redeclaring math symbol \Psi on input line 6. LaTeX Font Info: Redeclaring math symbol \Omega on input line 6. LaTeX Font Info: Redeclaring math symbol \mathdollar on input line 6. LaTeX Font Info: Redeclaring symbol font operators' on input line 6. LaTeX Font Info: EncodingOT1' has changed to TU' for symbol font (Font)operators' in the math version normal' on input line 6. LaTeX Font Info: Overwriting symbol fontoperators' in version normal' (Font) OT1/cmr/m/n --> TU/Erewhon(0)/m/n on input line 6. LaTeX Font Info: EncodingOT1' has changed to TU' for symbol font (Font)operators' in the math version bold' on input line 6. LaTeX Font Info: Overwriting symbol fontoperators' in version bold' (Font) OT1/cmr/bx/n --> TU/Erewhon(0)/m/n on input line 6. LaTeX Font Info: Overwriting symbol fontoperators' in version `normal' (Font) TU/Erewhon(0)/m/n --> TU/Erewhon(0)/m/n on input line 6.

LaTeX Font Info: Overwriting math alphabet \mathit' in versionnormal' (Font) OT1/cmr/m/it --> TU/Erewhon(0)/m/it on input line 6. LaTeX Font Info: Overwriting math alphabet \mathbf' in versionnormal' (Font) OT1/cmr/bx/n --> TU/Erewhon(0)/bx/n on input line 6. LaTeX Font Info: Overwriting math alphabet \mathsf' in versionnormal' (Font) OT1/cmss/m/n --> TU/lmss/m/n on input line 6. LaTeX Font Info: Overwriting math alphabet \mathtt' in versionnormal' (Font) OT1/cmtt/m/n --> TU/lmtt/m/n on input line 6. LaTeX Font Info: Overwriting symbol font operators' in versionbold' (Font) TU/Erewhon(0)/m/n --> TU/Erewhon(0)/bx/n on input line 6 . LaTeX Font Info: Overwriting math alphabet \mathit' in versionbold' (Font) OT1/cmr/bx/it --> TU/Erewhon(0)/bx/it on input line 6. LaTeX Font Info: Overwriting math alphabet \mathsf' in versionbold' (Font) OT1/cmss/bx/n --> TU/lmss/bx/n on input line 6. LaTeX Font Info: Overwriting math alphabet \mathtt' in versionbold' (Font) OT1/cmtt/m/n --> TU/lmtt/bx/n on input line 6.

LaTeX Font Warning: Font shape TU/Erewhon(0)/m/sc' undefined (Font) usingTU/Erewhon(0)/m/n' instead on input line 7.

[1{C:/Users/aroxb/AppData/Local/MiKTeX/2.9/pdftex/config/pdftex.map}] ("./MWE2 smallcaps.aux")

File List minimal.cls 2001/05/25 Standard LaTeX minimal class fontspec.sty 2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX xparse.sty 2019-05-28 L3 Experimental document command parser expl3.sty 2019-07-25 L3 programming layer (loader) expl3-code.tex 2019-07-25 L3 programming layer l3backend-pdfmode.def 2019-04-06 v L3 Experimental backend support: PDF mode fontspec-luatex.sty 2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX fontenc.sty tuenc.def 2018/08/11 v2.0j Standard LaTeX file fontspec.cfg Erewhon.fontspec Erewhon.fontspec Erewhon.fontspec


LaTeX Font Warning: Some font shapes were not available, defaults substituted.

)

Here is how much of LuaTeX's memory you used: 11874 strings out of 494305 100000,383344 words of node,token memory allocated 370 words of node memory still in use: 3 hlist, 1 vlist, 1 rule, 2 glue, 3 kern, 1 glyph, 5 attribute, 40 glue_spec, 5 attribute_list, 1 write nodes avail lists: 2:17,3:2,4:2,5:20,6:1,7:19,9:7 16093 multiletter control sequences out of 65536+200000 37 fonts using 8106959 bytes 47i,4n,70p,347b,446s stack positions out of 5000i,500n,10000p,200000b,50000s <c:/program files/miktex 2.9/fonts/opentype/public/erewhon/erewhon-regular.otf> Output written on MWE2 smallcaps.pdf (1 page, 4055 bytes).

PDF statistics: 13 PDF objects out of 1000 (max. 8388607) 0 named destinations out of 1000 (max. 131072) 1 words of extra memory for PDF output out of 10000 (max. 100000000)

eg9 commented 5 years ago

On my system (macOS) the +smcp feature is regularly added; it appears that it isn't on your system, which is what the missing font specification after

(fontspec) - 'small caps' (m/sc) with NFSS spec.:

says.

Kiwiengr commented 5 years ago

eg9: I am very new at this, so I do not properly understand the implications of your comment re. your MacOS system vis-à-vis my Windows 10 MiKTeX system. The update that broke many things in my large LuaLaTeX writing project, performed by me on 8-5-2019, picked up all updates that were packaged by MiKTeX central after my previous update of 6-24-2019. As of yesterday, the MiKTeX Console reports that nothing is out-of-date. In any case, here is what I am finding (this seems to be just the tip of the proverbial iceberg) because prior to the update my 1200-page project in seven parts was compiling in its entirety with no errors. So many things broke that I suspect a common cause among many of them, probably in fontspec. Among the things that broke are the Erewhon \oldstylenums macro; the \textsc macro; \footnote{text} gives a missing } error, and if I respond with 's' to the console, the actual footnote is missing its number; Erewhon fractions (I am enabling them with the relatively long-winded \fontspec stuff, because LuaLaTeX is missing the convenience of the LaTeX \textfrac, etc., macros); and a loss of ligatures caused by the use of fontspec (usually to enable/disable fractions), which is most disastrously apparent in many 'random' portions of my manuscript missing the overlap in the dash ligatures, -- and ---, let alone fi ff fl, etc., reverting back to single letters. What I mean by 'randomly' is that the ligature font attribute is turned off by some fontspec and is re-enabled by other statements or macros, throughout the project. The MWE gives some idea of how this can happen. The net result is that the ligature font attribute does not seem very reliable and needs to be more robust.

I have tried to make the following MWE produce self-documenting results, for easy reading.

% MWE for smallcaps and oldstylenums LuaLaTeX fontspec problem 
\listfiles
\documentclass{minimal}
\usepackage{fontspec}
\setmainfont{Erewhon}[Extension=.otf, UprightFont=*-Regular, RawFeature=+onum,] 
\begin{document}
\noindent
        My system's response is indicated with ( )\\
        Regular text: Good Night (normal text, OK)\\
        Old Style Nums: 1234567890 (old style nums, OK)\\
\fontspec[RawFeature=+smcp]{Erewhon}
    Using fontspec +smcp enables Small Caps: Good (small caps, OK)\\
    \textnormal{Textnormal macro works: Good Night (normal text, OK)}\\
    Small Caps is still enabled: Good (Small Caps, OK) \\
\fontspec[RawFeature=-smcp]{Erewhon}
        Using fontspec -smcp disables small caps: Good 1234567890 (no small caps, OK; ordinary nums, not OK)\\
        \textsc{And Also Noting Here That The textsc Macro Does Not Work} (normal text, not OK)\\ 
        Using fontspec for +/- smcp disables the global old style nums: 1234567890 (ordinary nums, not OK)\\
\fontspec[RawFeature=+onum]{Erewhon}
        Using fontspec +onum re-enables old style nums: 1234567890 (old style nums, OK)\\
        The oldstylenums macro nevertheless does not work: \oldstylenums{1234567890}\\
\fontspec[RawFeature=+smcp;+onum]{Erewhon}
        Using fontspec +smcp;+onum re-enables small caps and old style nums 1234567890
\end{document}

Please find my output in the attached pdf. Fontspec Oldstylenums and SmallCaps MWE.PDF

niknetniko commented 5 years ago

I'm having the same issue: almost all OpenType features (ligatures, old style numbers, etc.) no longer work. Perhaps this is related to https://github.com/wspr/fontspec/issues/364?

wspr commented 5 years ago

@niknetniko — I think you're right; without looking further right now I am reasonably sure this is a luaotfload issue, not a fontspec one.

Kiwiengr commented 5 years ago

Another MWE related to the small caps problem (adapted from a fontspec MWE by @John on tex.stackexchange.com)

% !TEX TS-program = LuaLaTeX
% !TEX encoding = UTF-8 Unicode  

\documentclass[11pt]{article}

\usepackage{fontspec} 

\setmainfont{texgyreheros}

\begin{document}
\noindent
Here is some {\bfseries\scshape Boldface SmallCaps} text (not OK)\\
Here is some {\bfseries\fontspec[RawFeature=+smcp]{texgyreheros}
Boldface SmallCaps {\fontspec[RawFeature=-smcp]{texgyreheros}}} text (RawFeature work-around) \\
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \\
Here is some {\bfseries\uppercase{Boldface Uppercase}} text\\
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \\
Here is some {\bfseries Boldface} text\\
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \\
Here is some {\scshape SmallCaps} text (not OK)\\
Here is some {\fontspec[RawFeature=+smcp]{texgyreheros}
SmallCaps {\fontspec[RawFeature=-smcp]{texgyreheros}}} text (RawFeature work-around) \\
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \\
Here is some \uppercase{Uppercase} text (OK)\\
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \\
Here is some {Regular} text (OK)

\end{document}

Output attached as a pdf Stack Exchange - John - Fontspec 1.pdf

Kiwiengr commented 5 years ago

I updated 10:30 pm 8/24/2019 with miktex-luatek-bin-x64-2.9 Sat Aug 24, 13:11:14 2019 ver. 1.10.1, and about 29 other packages besides. A quick test shows shows most of not all of the things previously broken, as listed previously in #376 and comments, now work! I will do a more comprehensive test tomorrow. A big heartfelt thank you to all of the miktex-luatek wizards who fixed this! You know who you are. ;-)

Kiwiengr commented 5 years ago

I have completed a more extensive test of the Lualatex updates. Things are working well enough that by not using certain relatively minor features (e.g., some of the ligatures), and ignoring certain others (e.g., that dashes sometimes render as - - - or - -), I can compile OK, and continue writing. This is a good place to be in compared to how it was a couple of weeks ago! The remaining problems are documented in the MWE file below, and the attached output. I have also attached the log file. In the MWE I have numbered the various commands/macros (1) thru (18) to make it more visible what does what, in order, and for easy reference.

I find it interesting that the dash ligatures are affected by \fontspec, but not the common ligatures like ff, fl, etc.

On a slightly different note, I also find it interesting that my MWE (which relies entirely on the Windows 10 installation of the LibertinusSerif-Regular.otf font), when I add \usepackage{libertinus-otf} to the exisitng MWE, all dash ligatures correct overlap. I don’t know what side effects may or may not be caused by using this \usepackage, and is not the approach I want to use, my preference being to instead to install all desired fonts in Windows 10. Perhaps, however, it may offer some more clues about the buggy behavior of the default ligatures=TeX mode.

Here is the MWE:

% !TEX TS-program = LuaLaTeX
% !TEX encoding = UTF-8 Unicode  

% -  -  -  -   L   U   A   L   A   T   E   X       M   W   E   -  -  -  -  -

% Exploration of bugs remaining after 24 August 2019 update.
% Author: Alastair Roxburgh (Kiwiengr)
% Date:  27 August 2019
\listfiles
\documentclass[11pt]{book}
\usepackage{fontspec} 
\usepackage[utf8]{luainputenc}
\usepackage{xcolor} % yellow for hi-lighter
\usepackage{soul}    % \hl{hi-lighted text}

\setmainfont{LibertinusSerif}[
    UprightFont=*-Regular,
%    ItalicFont=*-Italic,
    BoldFont=*-Bold, 
%    BoldItalicFont=*-BoldItalic, 
    SmallCapsFeatures={Letters=SmallCaps},
    Extension=.otf
    ]

\begin{document}
\noindent(1) Dash, std. ligatures OK: -- --- fb ff fh ffh fi ffi fj ffj fk ffk fl ffl ft fft ſh ſl ſs ſſ ſt \\
% Note:
%   Optional Historical (Historic) Ligatures:  ct, st \\
%   Optional Discretionary (Rare) Ligatures: Th, tt, tz, ck, ch \\
%   Optional Contextual (Contextual) Alternates: Qu Qv \\
(2) \fontspec[Fractions=On]{LibertinusSerif}Using \textbf{fontspec} to format fractions such as 4/15 \fontspec[Fractions=Off]{LibertinusSerif}
 makes dash ligatures \hl{NOT OK: -- ---}, but has no effect on the standard ligatures, which are still OK: e.g., ff fj\\
(3) Using \textbf{textnormal} restores dash ligatures OK, but only locally: \textnormal{-- ---}, while \\
(4) globally, dash ligatures are still \hl{NOT OK: -- ---}. Meanwhile, standard ligatures are nevertheless still OK: ff fj\\
\normalfont
(5) However, using \textbf{normalfont} makes dash ligatures OK globally again: -- --- ff fj\\

\vspace{-8pt}\noindent(6) The next three lines are a spot check of other things broken reported in github issue \#376, prior to Aug-24-2019 update, but are now OK:\\
(6.a)   \hspace{1em}Test footnote.\footnote{Footnotes would not compile (‘missing bracket’ problem), but are now OK.} \\ 
(6.b)  \hspace{1em}Oldstylenums macro now OK: \oldstylenums{0123456789}; inline numbers: 0123456789\\
(6.c)  \hspace{1em}\textsc{Small Caps Are Now OK}\\
After tests 6.a, 6.b, 6.c, dash ligatures, and the std ligatures are still OK: -- --- ff fj\\

\vspace{-8pt}\noindent(7) Now to shake out some bugs in \textbf{fontspec addfontfeature}:\\
\fontspec{LibertinusSerif}
\addfontfeature{{Ligatures=Historic}}{
(8) Adding in ‘LibertinusSerif Historic Ligatures’ is OK: wurtzite strict Qu Qv Th st ct tt tz firefly buff fjord Gauß}\\
\addfontfeature{{Ligatures=Rare}}{
(9) Adding in ‘LibertinusSerif Rare Ligatures’ is OK: wurtzite strict Qu Qv Th st ct tt tz firefly buff fjord Gauß}\\
\addfontfeature{{Ligatures=Contextual}}{
(10) Adding in ‘LibertinusSerif Contextual Ligatures’ \hl{does not work (note short tail on Qu, Qv)}: wurtzite strict Qu Qv Th st ct tt tz firefly buff fjord Gauß}\\
\fontspec{LibertinusSerif}
(11) Be that as it may, after the \textbf{fontspec addfontfeatures} stuff, the dash ligatures are \hl{NOT OK: -- ---}, but standard ligatures are still OK: ff fj\\
\normalfont
(12) Using \textbf{normalfont} makes dash ligatures and other standard ligatures OK globally again: -- --- ff fj \\
(13) Now try \textbf{fontspec’s RawFeature} on Discretionary and Contextual ligatures to prove that the correct long-tail ‘Q’ glyph is in fact in the LibertinusSerif font:\\
\fontspec[RawFeature=dlig]{LibertinusSerif} (14) RawFeature ‘Discretionary Ligatures ONLY’ (note that only Th tt tz are affected, which is OK): wurtzite strict Qu Qv Th st ct tt tz firefly buff fjord Gauß\\
\fontspec[RawFeature=calt]{LibertinusSerif} (15) RawFeature ‘Contextual Ligatures ONLY’ (note that other than the standard ligatures, only Qu Qv are affected which is OK): wurtzite strict Qu Qv Th st ct tt tz firefly buff fjord Gauß\\
\fontspec{LibertinusSerif}
(16) Again, \textbf{fontspec} has messed up dash ligatures, etc., \hl{NOT OK: -- ---}, but standard ligatures are still OK: ff fj\\
\normalfont
(17) \textbf{normalfont} makes dash ligatures and other standard ligatures OK globally again: -- --- ff fj\\
(18) And here are the rest of the std ligatures, all OK: ff fh ffh fi ffi fj ffj fk ffk fl ffl ft fft ſh ſl ſs ſſ ſt Qu Qv Th st ct tt tz strict firefly buff fjord Gauß\\
\end{document}

MWE lulatex dash ligatures 2.PDF

Most recent updates

MWE lulatex dash ligatures 2.log

Here are some key version numbers from the package list in my MikTeX Console: (also see list attached of recent updates in my MiKTeX) *****miktex-luatex-bin-x64-2.9 Sat Aug 24 13:11:44 2019 (Installed on my system 8/24/2019) 1.10.1 Taco Hoekwater and the LuaTeX Team LuaTeX, Windows x64

*****luaotfload Thu Aug 22 13:12:11 2019 (Installed on my system 8/24/2019) 2.991 PRAGMA ADE / ConTeXt Development Team OpenType ‘loader’ for Plain TeX and LaTeX

*****fontspec Fri Mar 15 14:11:54 2019 (Installed on my system 6/12/2019) 2.7c Will Robertson Advanced font selection in XeLaTeX and LuaLaTeX

And here is the file list from the log file (attached): File List book.cls 2018/09/03 v1.4i Standard LaTeX document class bk11.clo 2018/09/03 v1.4i Standard LaTeX file (size option) fontspec.sty 2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX xparse.sty 2019-05-28 L3 Experimental document command parser expl3.sty 2019-08-14 L3 programming layer (loader) expl3-code.tex 2019-08-14 L3 programming layer l3backend-pdfmode.def 2019-04-06 v L3 Experimental backend support: PDF mode fontspec-luatex.sty 2019/03/15 v2.7c Font selection for XeLaTeX and LuaLaTeX fontenc.sty tuenc.def 2018/08/11 v2.0j Standard LaTeX file fontspec.cfg luainputenc.sty 2010/11/19 v0.973 inputenc package for LuaTeX ifluatex.sty 2016/05/16 v1.4 Provides the ifluatex switch (HO) ifxetex.sty 2010/09/12 v0.6 Provides ifxetex conditional luatexbase.sty 2015/10/04 v1.3 luatexbase interface to LuaTeX ctablestack.sty 2015/10/01 v1.0 Catcode table stable support lutf8.def 2010/05/10 v0.97 UTF-8 support for luainputenc t1enc.dfu 2018/10/05 v1.2f UTF-8 support for inputenc ot1enc.dfu 2018/10/05 v1.2f UTF-8 support for inputenc omsenc.dfu 2018/10/05 v1.2f UTF-8 support for inputenc xcolor.sty 2016/05/11 v2.12 LaTeX color extensions (UK) color.cfg 2016/01/02 v1.6 sample color configuration luatex.def 2018/01/08 v1.0l Graphics/color driver for luatex soul.sty 2003/11/17 v2.4 letterspacing/underlining (mf) supp-pdf.mkii


wspr commented 4 years ago

Is this issue now resolved?

Kiwiengr commented 4 years ago

Compared to August 2019, various issues touched on in this thread are resolved. A remaining issue, relevant to the LuaLaTeX context, relates to the use of fontspec to format fractions such as 4/15. On its face, such use of fontspec for on-the-fly font configuration breaks the dash en and em ligatures -- and --- (literally breaking them apart, resulting in gaps, like in this text). A workaround is detailed in a newly modified version of the MWE attached, GitHub ajr Test 2-10-2010.tex (also see pdf output). I have highlighted the errors caused by this remaining problem.

MWE (contents of GitHub ajr Test 2-10-2020.txt)

% !TEX TS-program = LuaLaTeX
% !TEX encoding = UTF-8 Unicode  

% -  -  -  -   L   U   A   L   A   T   E   X       M   W   E   -  -  -  -  -

% Exploration of bugs remaining in fresh installation of full MikTeX on or around 1 February 2020.     % (Previous MWE used the 24 August 2019 update)
% Author: Alastair Roxburgh (Kiwiengr)
% Date:  10 February 2020
\listfiles
\documentclass[11pt]{book}
\usepackage{fontspec} 
\usepackage[utf8]{luainputenc}
\usepackage{xcolor} % yellow for hi-lighter
\usepackage{soul}    % \hl{hi-lighted text}

% Mainfont definition used in previous MWE:
%\setmainfont{LibertinusSerif}[
%    UprightFont=*-Regular,
%%    ItalicFont=*-Italic,
%    BoldFont=*-Bold, 
%%    BoldItalicFont=*-BoldItalic, 
%    SmallCapsFeatures={Letters=SmallCaps},
%    Extension=.otf
%    ]

% NEW FONT DEFINITION ADDED 2-10-2020:
\setmainfont{LibertinusSerif}[
%RawFeature = {\libertinus@figurealign;\libertinus@figurestyle},
%Scale = \libertinusRM@scale ,
       UprightFont          = *-Regular,
       ItalicFont           = *-Italic,
       ItalicFeatures       = {SmallCapsFont = *-Italic},
       SlantedFont      = *-Regular,
       SlantedFeatures      = {FakeSlant = 0.2},
       BoldFont         = *-Bold,
       BoldFeatures         = {SmallCapsFont = *-Bold},
       BoldItalicFont       = *-SemiboldItalic,    %BoldItalic looks too bold, so we use SemiboldItalic instead.
       BoldItalicFeatures       = {SmallCapsFont = *-SemiboldItalic}, 
       BoldSlantedFont      = *-Bold,
       BoldSlantedFeatures  = {FakeSlant=0.2, SmallCapsFont = *-Bold},
       SmallCapsFont        = *-Regular,
%    SmallCapsFeatures      = {RawFeature=+smcp},
       SmallCapsFeatures        = {Letters=SmallCaps},
       Ligatures            = Rare, % Gives Th ligature & tz with angular script z (wurtzite) (Rare is the same as Discretionary) Off by default. 
       Ligatures            = Historic, % This loops the character pairs st, ct (strict)  (Historic is the same as Historical) 
%    Ligatures          = NoCommon, % Don’t show any common ligatures (firefly fi fl ffi, etc, are separate letters) 
%    Ligatures          = Common, % ‘default’ (fi fl ffi ffl fb fh fj fk) (Common is the same as Required) 
%    Ligatures          = Contextual, % Qu Qv should default to On, but in LuaLaTeX it is Off.  <<<<<<NOTE CAREFULLY!!!!!
                                            % Workaround: After \begin{document}, use \addfontfeatures{Contextuals=Alternate}
       Extension            =.otf    
       ]

% Note:
%   Optional Historical (Historic) Ligatures:  ct, st \\
%   Optional Discretionary (Rare) Ligatures: Th, tt, tz, ck, ch \\
%   Optional Contextual (Contextual) Alternates: Qu Qv \\

\begin{document}
\noindent\textbf{IN THE FOLLOWING LUALATEX TEST CODE, ALL TYPOGRAPHICAL LIGATURE ERRORS (RELATIVE TO MY PARTICULAR LIBERTINUSSERIF SETMAIN FONT DEFINITION - SEE SOURCE) ARE HIGH-LIGHTED IN YELLOW AS ‘NOT OK’ :}\\
\noindent(1) Dash, standard, historic, and rare ligatures OK: -- --- st ct tz fb ff fh ffh fi ffi fj ffj fk ffk fl ffl ft fft ſh ſl ſs ſſ ſt. \hl{NOT OK: Qu Qv}, because contextual ligatures (which should be on in LuaLaTeX, but for some reason came to be Off by default) need to be enabled in the body text, to make them usable. \\
\noindent (1.a) Add-in the “addfontfeatures\{Contextuals=Alternate\}” command and test the Q ligature again: 
% NEW FONT TWEAK ADDED 2-10-2020 TO MAKE LONG-TAIL Q LIGATURE IN Qu, Qv:
\addfontfeatures{Contextuals=Alternate}
Dash, standard, historic, rare, and contextual Q ligatures are all OK: -- --- st ct tz fb ff fh ffh fi ffi fj ffj fk ffk fl ffl ft fft ſh ſl ſs ſſ ſt Qu Qv.\\

\noindent(2) \fontspec[Fractions=On]{LibertinusSerif}Using \textbf{fontspec} to format fractions such as 4/15 \fontspec[Fractions=Off]{LibertinusSerif}
 makes dash ligatures \hl{NOT OK: -- ---}, but has no effect on the standard ff fj, etc, ligatures, but note that this makes the historic, rare, and contextual long-tail Q ligatures \hl{NOT OK: st ct tz Qu Qv}).\\
(3) Using \textbf{textnormal} restores dash ligatures OK, but only locally: \textnormal{-- ---}, while \\
(4) globally, dash ligatures are still \hl{NOT OK: -- ---}. Meanwhile, standard ligatures are nevertheless still OK: ff fj, but the historic, rare, and contextual ligatures are \hl{NOT OK: st ct tz Qu Qv}.\\
\normalfont
\addfontfeatures{Contextuals=Alternate}
(4.a) But to get OK long-tail Qu Qv ligatures, we must ahead of this line again use the \textbf{“addfontfeatures\{Contextuals=Alternate\}”} command, giving OK: Qu Qv. \\
(5) We must also use the \textbf{normalfont} to makes dash ligatures OK globally again: -- --- and also make the standard, historic, rare, and contextual capital Q ligatures all OK: st ct tz fb ff fh ffh fi ffi fj Qu Qv - -- ---. Everything is OK now!\\

\noindent(6) The next three lines are a spot check of other things broken reported in github issue \#376, prior to Aug-24-2019 update, but are now OK:\\
(6.a)   \hspace{1em}Test footnote.\footnote{Footnotes would not compile (‘missing bracket’ problem), but are now OK.} \\ 
(6.b)  \hspace{1em}Oldstylenums macro now OK: \oldstylenums{0123456789}; inline numbers: 0123456789\\
(6.c)  \hspace{1em}\textsc{Small Caps Are Now OK}\\
After the above three tests, 6.a, 6.b, 6.c, dash ligatures, and standard, historic, and contextual ligatures are still OK: ff fb ffb fh ffh fi ffi fj ffj fk ffk fl ffl ft fft ſh ſl ſs ſſ ſt Qu Qv Th st ct tt tz strict firefly buff fjord Gauß.\\
Quasimodo’s cliffhanging wolfhound selflessly cliffjumped the Thetford fjord’s wurtzite soundproofing, in a gruffly-offkey, offbeat, offishly-halftone, but ruffled, and strictly-offtone, kind of a way. \oldstylenums{1837} - 1937.
\end{document}

GitHub ajr Test 2-10-2020.txt

GitBub ajr Test 2-10-2020 output

u-fischer commented 2 years ago

Closing as most (or all) issues seem to be resolved in texlive 2022. Please open a new issue if something is still not working.

JimEBlevins commented 7 months ago

I stopped oldstyle figures from rendering properly by misusing the RawFeature command:

RawFeature = {+case};

Here, the Unicode terminology (and RawFeature syntax) should be deprecated.

The Unicode description is that this command "enforces case-sensitive forms", which sounds good. In fact, it forces numbers also to be upper-case (not lower case, etc.).

The fontspec syntax is self-documenting, and should be preferred.

Letters = Uppercase

This information may help others, I hope, so I report it here in a closed thread about old-style numbers, with apologies.