OBS-URL: https://build.opensuse.org/package/show/Publishing:TeXLive/texlive-specs-a?expand=0&rev=80
120 lines
4.3 KiB
Plaintext
120 lines
4.3 KiB
Plaintext
Bug boo#1039951 -- nasty \emph-related bugs in texlive-fontspec
|
|
|
|
---
|
|
texmf-dist/tex/latex/fontspec/fontspec-luatex.sty | 35 ++++++++++++++++++++++++++-------
|
|
texmf-dist/tex/latex/fontspec/fontspec-xetex.sty | 35 ++++++++++++++++++++++++++-------
|
|
2 files changed, 56 insertions(+), 14 deletions(-)
|
|
|
|
--- texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
|
|
+++ texmf-dist/tex/latex/fontspec/fontspec-luatex.sty 2017-05-23 09:50:03.040083385 +0000
|
|
@@ -2648,25 +2648,46 @@
|
|
}
|
|
\int_new:N \l__fontspec_em_int
|
|
\int_new:N \l__fontspec_emdef_int
|
|
+\prop_new:N \g_@@_em_prop
|
|
+\cs_generate_variant:Nn \prop_gput:Nnn {NxV}
|
|
+\cs_generate_variant:Nn \prop_gput_if_new:Nnn {NxV}
|
|
+\cs_generate_variant:Nn \prop_gput:Nnn {Nxn}
|
|
+\cs_generate_variant:Nn \prop_get:NnNT {NxN}
|
|
+\cs_generate_variant:Nn \prop_get:NnNTF {NxN}
|
|
\cs_new_protected:Npn \emfontdeclare #1
|
|
{
|
|
- \int_zero:N \l__fontspec_emdef_int
|
|
- \clist_map_inline:nn {#1}
|
|
- {
|
|
- \int_incr:N \l__fontspec_emdef_int
|
|
- \cs_set:cpn {__fontspec_em_font_ \int_use:N \l__fontspec_emdef_int _switch:} {##1}
|
|
- }
|
|
+ \prop_clear:N \g_@@_em_prop
|
|
+ \int_zero:N \l__fontspec_emdef_int
|
|
+ \group_begin:
|
|
+ \normalfont
|
|
+ \clist_map_inline:nn {\emreset,#1}
|
|
+ {
|
|
+ ##1
|
|
+ \prop_gput_if_new:NxV \g_@@_em_prop { \f@series/\f@shape } { \l__fontspec_emdef_int }
|
|
+ \prop_gput:NxV \g_@@_em_prop { switch-\int_use:N \l__fontspec_emdef_int } { ##1 }
|
|
+ \int_incr:N \l__fontspec_emdef_int
|
|
+ }
|
|
+ \group_end:
|
|
}
|
|
\DeclareRobustCommand \em
|
|
{
|
|
\@nomath\em
|
|
+ \prop_get:NxNT \g_@@_em_prop { \f@series/\f@shape } \l_@@_em_tmp_tl
|
|
+ { \int_set:Nn \l__fontspec_em_int { \l_@@_em_tmp_tl } }
|
|
\int_incr:N \l__fontspec_em_int
|
|
- \use:c {__fontspec_em_font_ \int_use:N \l__fontspec_em_int _switch:}
|
|
+ \prop_get:NxNTF \g_@@_em_prop { switch-\int_use:N \l__fontspec_em_int } \l_@@_em_switch_tl
|
|
+ { \l_@@_em_switch_tl }
|
|
+ {
|
|
+ \int_zero:N \l__fontspec_em_int
|
|
+ \emreset
|
|
+ }
|
|
}
|
|
\DeclareTextFontCommand{\emph}{\em}
|
|
+\cs_set:Npn \emreset { \upshape }
|
|
\cs_set:Npn \emshape { \itshape }
|
|
\cs_set:Npn \eminnershape { \upshape }
|
|
\emfontdeclare{ \emshape, \eminnershape }
|
|
+\cs_new:Nn \fontspec_set_em_level:n { \int_set:Nn \l__fontspec_em_int {#1} }
|
|
\DeclareRobustCommand{\-}
|
|
{
|
|
\discretionary
|
|
--- texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
|
|
+++ texmf-dist/tex/latex/fontspec/fontspec-xetex.sty 2017-05-23 09:53:08.044601421 +0000
|
|
@@ -2724,25 +2724,46 @@
|
|
}
|
|
\int_new:N \l__fontspec_em_int
|
|
\int_new:N \l__fontspec_emdef_int
|
|
+\prop_new:N \g_@@_em_prop
|
|
+\cs_generate_variant:Nn \prop_gput:Nnn {NxV}
|
|
+\cs_generate_variant:Nn \prop_gput_if_new:Nnn {NxV}
|
|
+\cs_generate_variant:Nn \prop_gput:Nnn {Nxn}
|
|
+\cs_generate_variant:Nn \prop_get:NnNT {NxN}
|
|
+\cs_generate_variant:Nn \prop_get:NnNTF {NxN}
|
|
\cs_new_protected:Npn \emfontdeclare #1
|
|
{
|
|
- \int_zero:N \l__fontspec_emdef_int
|
|
- \clist_map_inline:nn {#1}
|
|
- {
|
|
- \int_incr:N \l__fontspec_emdef_int
|
|
- \cs_set:cpn {__fontspec_em_font_ \int_use:N \l__fontspec_emdef_int _switch:} {##1}
|
|
- }
|
|
+ \prop_clear:N \g_@@_em_prop
|
|
+ \int_zero:N \l__fontspec_emdef_int
|
|
+ \group_begin:
|
|
+ \normalfont
|
|
+ \clist_map_inline:nn {\emreset,#1}
|
|
+ {
|
|
+ ##1
|
|
+ \prop_gput_if_new:NxV \g_@@_em_prop { \f@series/\f@shape } { \l__fontspec_emdef_int }
|
|
+ \prop_gput:NxV \g_@@_em_prop { switch-\int_use:N \l__fontspec_emdef_int } { ##1 }
|
|
+ \int_incr:N \l__fontspec_emdef_int
|
|
+ }
|
|
+ \group_end:
|
|
}
|
|
\DeclareRobustCommand \em
|
|
{
|
|
\@nomath\em
|
|
+ \prop_get:NxNT \g_@@_em_prop { \f@series/\f@shape } \l_@@_em_tmp_tl
|
|
+ { \int_set:Nn \l__fontspec_em_int { \l_@@_em_tmp_tl } }
|
|
\int_incr:N \l__fontspec_em_int
|
|
- \use:c {__fontspec_em_font_ \int_use:N \l__fontspec_em_int _switch:}
|
|
+ \prop_get:NxNTF \g_@@_em_prop { switch-\int_use:N \l__fontspec_em_int } \l_@@_em_switch_tl
|
|
+ { \l_@@_em_switch_tl }
|
|
+ {
|
|
+ \int_zero:N \l__fontspec_em_int
|
|
+ \emreset
|
|
+ }
|
|
}
|
|
\DeclareTextFontCommand{\emph}{\em}
|
|
+\cs_set:Npn \emreset { \upshape }
|
|
\cs_set:Npn \emshape { \itshape }
|
|
\cs_set:Npn \eminnershape { \upshape }
|
|
\emfontdeclare{ \emshape, \eminnershape }
|
|
+\cs_new:Nn \fontspec_set_em_level:n { \int_set:Nn \l__fontspec_em_int {#1} }
|
|
\DeclareRobustCommand{\-}
|
|
{
|
|
\discretionary
|