Create a file called uc-text.map
; TECkit mapping for TeX input conventions <-> Unicode characters
LHSName "TeX-text"
RHSName "UNICODE"
pass(Unicode)
; ligatures from Knuth's original CMR fonts
U+002D U+002D <> U+2013 ; -- -> en dash
U+002D U+002D U+002D <> U+2014 ; --- -> em dash
U+0027 <> U+2019 ; ' -> right single quote
U+0027 U+0027 <> U+201D ; '' -> right double quote
U+0022 > U+201D ; " -> right double quote
U+0060 <> U+2018 ; ` -> left single quote
U+0060 U+0060 <> U+201C ; `` -> left double quote
U+0021 U+0060 <> U+00A1 ; !` -> inverted exclam
U+003F U+0060 <> U+00BF ; ?` -> inverted question
; additions supported in T1 encoding
U+002C U+002C <> U+201E ; ,, -> DOUBLE LOW-9 QUOTATION MARK
U+003C U+003C <> U+00AB ; << -> LEFT POINTING GUILLEMET
U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
; all uppercase
U+0061 <> U+0041
U+0062 <> U+0042
U+0063 <> U+0043
U+0064 <> U+0044
U+0065 <> U+0045
U+0066 <> U+0046
U+0067 <> U+0047
U+0068 <> U+0048
U+0069 <> U+0049
U+006A <> U+004A
U+006B <> U+004B
U+006C <> U+004C
U+006D <> U+004D
U+006E <> U+004E
U+006F <> U+004F
U+0070 <> U+0050
U+0071 <> U+0051
U+0072 <> U+0052
U+0073 <> U+0053
U+0074 <> U+0054
U+0075 <> U+0055
U+0076 <> U+0056
U+0077 <> U+0057
U+0078 <> U+0058
U+0079 <> U+0059
U+007A <> U+005A
; Vietnamese characters
U+00E0 <> U+00C0
U+00E1 <> U+00C1
U+00E2 <> U+00C2
U+00E3 <> U+00C3
U+00E8 <> U+00C8
U+00E9 <> U+00C9
U+00EA <> U+00CA
U+00EC <> U+00CC
U+00ED <> U+00CD
U+00F2 <> U+00D2
U+00F3 <> U+00D3
U+00F4 <> U+00D4
U+00F5 <> U+00D5
U+00F9 <> U+00D9
U+00FA <> U+00DA
U+00FD <> U+00DD
U+0103 <> U+0102
U+0111 <> U+0110
U+0129 <> U+0128
U+0169 <> U+0168
U+01A1 <> U+01A0
U+01B0 <> U+01AF
U+1EA1 <> U+1EA0
U+1EA3 <> U+1EA2
U+1EA5 <> U+1EA4
U+1EA7 <> U+1EA6
U+1EA9 <> U+1EA8
U+1EAB <> U+1EAA
U+1EAD <> U+1EAC
U+1EAF <> U+1EAE
U+1EB1 <> U+1EB0
U+1EB3 <> U+1EB2
U+1EB5 <> U+1EB4
U+1EB7 <> U+1EB6
U+1EB9 <> U+1EB8
U+1EBB <> U+1EBA
U+1EBD <> U+1EBC
U+1EBF <> U+1EBE
U+1EC1 <> U+1EC0
U+1EC3 <> U+1EC2
U+1EC5 <> U+1EC4
U+1EC7 <> U+1EC6
U+1EC9 <> U+1EC8
U+1ECB <> U+1ECA
U+1ECD <> U+1ECC
U+1ECF <> U+1ECE
U+1ED1 <> U+1ED0
U+1ED3 <> U+1ED2
U+1ED5 <> U+1ED4
U+1ED7 <> U+1ED6
U+1ED9 <> U+1ED8
U+1EDB <> U+1EDA
U+1EDD <> U+1EDC
U+1EDF <> U+1EDE
U+1EE1 <> U+1EE0
U+1EE3 <> U+1EE2
U+1EE5 <> U+1EE4
U+1EE7 <> U+1EE6
U+1EE9 <> U+1EE8
U+1EEB <> U+1EEA
U+1EED <> U+1EEC
U+1EEF <> U+1EEE
U+1EF1 <> U+1EF0
U+1EF3 <> U+1EF2
U+1EF5 <> U+1EF4
U+1EF7 <> U+1EF6
U+1EF9 <> U+1EF8
Run teckit_compile uc-text.map
. In the same directory you'll find a file called uc-text.tec
. In the same directory save the file
%!TEX program = xelatex
\documentclass{scrbook}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\newfontfamily{\uctimes}{Times New Roman}[
Mapping=uc-text
]
\begin{document}
Anyone have any ideas about how to apply uppercase Times New Roman for the whole page?
Thank you very much in advance.
\uctimes
Anyone have any ideas about how to apply uppercase Times New Roman for the whole page?
Thank you very much in advance.
abcdefghijklmnopqrstuvwxyz
\end{document}
and compile with XeLaTeX.
You'll need to update the .map
file (and run again teckit_compile
) if you need other characters: the format is simple: each line contains the code for the lowercase character and the corresponding uppercase one.

\documentclass{...}
and ending with\end{document}
.LaTeX
\MakeUppercase{<text>}
command. However, there must be no paraagraph breaks in<text>
, thus you should use this command twice in your example.