From 1d29b2d92afc144221151e7c84518c4df62b1cee Mon Sep 17 00:00:00 2001 From: JerryMain <16806246+jerrymain521@user.noreply.gitee.com> Date: Tue, 24 Mar 2026 22:00:43 +0800 Subject: [PATCH] [206_22] Add standard form of English letter --- TeXmacs/fonts/enc/cmr.enc | 13 ++++- .../langs/encoding/symbol-unicode-oneway.scm | 50 ++++++++++++++++- .../progs/convert/latex/latex-define.scm | 51 ++++++++++++++++- .../progs/convert/latex/latex-texmacs-drd.scm | 8 ++- TeXmacs/progs/convert/latex/latex-define.scm | 51 ++++++++++++++++- .../progs/convert/latex/latex-texmacs-drd.scm | 8 ++- TeXmacs/progs/language/std-symbols.scm | 11 ++++ TeXmacs/progs/math/math-edit.scm | 12 ++-- TeXmacs/progs/math/math-kbd.scm | 50 ++++++++++++++++- TeXmacs/progs/math/math-menu.scm | 55 ++++++++++++++++++- TeXmacs/tests/tmu/206_22.tmu | 8 +++ devel/206_22.md | 11 ++++ 12 files changed, 310 insertions(+), 18 deletions(-) create mode 100644 TeXmacs/tests/tmu/206_22.tmu create mode 100644 devel/206_22.md diff --git a/TeXmacs/fonts/enc/cmr.enc b/TeXmacs/fonts/enc/cmr.enc index 00408b56dc..065a13d95a 100644 --- a/TeXmacs/fonts/enc/cmr.enc +++ b/TeXmacs/fonts/enc/cmr.enc @@ -37,14 +37,25 @@ "up-i" "up-j" "up-k" "up-l" "up-m" "up-n" "up-o" "up-p" "up-q" "up-r" "up-s" "up-t" "up-u" "up-v" "up-w" "up-x" "up-y" "up-z" +65 "mathA" "mathB" "mathC" +68 "mathD" "mathE" "mathF" "mathG" +72 "mathH" "mathI" "mathJ" "mathK" "mathL" "mathM" "mathN" +79 "mathO" "mathP" "mathQ" "mathR" "mathS" +84 "mathT" "mathU" "mathV" "mathW" "mathX" "mathY" "mathZ" 67 "mathcatalan" -68 "mathD" 91 "large-[-0" "" "large-]-0" 94 "hat" 94 "wide-hat" 94 "wide-hat-0" +97 "matha" +98 "mathb" "mathc" 100 "mathd" "mathe" +102 "mathf" "mathg" "mathh" 105 "mathi" +106 "mathj" "mathk" "mathl" "mathm" "mathn" +111 "matho" "mathp" "mathq" "mathr" "maths" +116 "matht" "mathu" "mathv" "mathw" "mathx" +121 "mathy" "mathz" 126 "tilde" 126 "wide-tilde" 126 "wide-tilde-0" diff --git a/TeXmacs/langs/encoding/symbol-unicode-oneway.scm b/TeXmacs/langs/encoding/symbol-unicode-oneway.scm index 2c0b9f927e..73a45a92c5 100644 --- a/TeXmacs/langs/encoding/symbol-unicode-oneway.scm +++ b/TeXmacs/langs/encoding/symbol-unicode-oneway.scm @@ -16,11 +16,59 @@ ;; Admit variants , , etc. ("" "#43") ; Catalan constant + +("" "#41") ; for standard A +("" "#42") ; for standard B +("" "#43") ; for standard C ("" "#44") ; Derivation operator +("" "#45") ; for standard E +("" "#46") ; for standard F +("" "#47") ; for standard G +("" "#48") ; for standard H +("" "#49") ; for standard I +("" "#4A") ; for standard J +("" "#4B") ; for standard K +("" "#4C") ; for standard L +("" "#4D") ; for standard M +("" "#4E") ; for standard N +("" "#4F") ; for standard O +("" "#50") ; for standard P +("" "#51") ; for standard Q +("" "#52") ; for standard R +("" "#53") ; for standard S +("" "#54") ; for standard T +("" "#55") ; for standard U +("" "#56") ; for standard V +("" "#57") ; for standard W +("" "#58") ; for standard X +("" "#59") ; for standard Y +("" "#5A") ; for standard Z +("" "#61") ; for standard a +("" "#62") ; for standard b +("" "#63") ; for standard c ("" "#64") ; differential (for d x inside integrals) ("" "#65") ; exp(1) +("" "#66") ; for standard f +("" "#67") ; for standard g +("" "#68") ; for standard h ("" "#69") ; imaginary unit ("" "#6A") ; variant of imaginary unit +("" "#6B") ; for standard k +("" "#6C") ; for standard l +("" "#6D") ; for standard m +("" "#6E") ; for standard n +("" "#6F") ; for standard o +("" "#70") ; for standard p +("" "#71") ; for standard q +("" "#72") ; for standard r +("" "#73") ; for standard s +("" "#74") ; for standard t +("" "#75") ; for standard u +("" "#76") ; for standard v +("" "#77") ; for standard w +("" "#78") ; for standard x +("" "#79") ; for standard y +("" "#7A") ; for standard z ("" "#0393") ; Gamma function ("" "#0394") ; Laplace operator ("" "#03C0") ; pi constant @@ -112,7 +160,7 @@ ;; These symbols should only be used internally by TeXmacs in the ;; LEFT, RIGHT, MID and BIG primitive. If they are explicitly -;; present, they are exported as a regular-sized character. +;; present, they are exported as a regular-sized character. ("" "|") ("" "|") diff --git a/TeXmacs/plugins/latex/progs/convert/latex/latex-define.scm b/TeXmacs/plugins/latex/progs/convert/latex/latex-define.scm index 8039879e61..efc549dd30 100644 --- a/TeXmacs/plugins/latex/progs/convert/latex/latex-define.scm +++ b/TeXmacs/plugins/latex/progs/convert/latex/latex-define.scm @@ -129,14 +129,63 @@ ;; extra literal symbols (mathcatalan "\\mathrm{C}") + (mathA "\\mathrm{A}") + (mathB "\\mathrm{B}") + (mathC "\\mathrm{C}") + (mathD "\\mathrm{D}") + (mathE "\\mathrm{E}") + (mathF "\\mathrm{F}") + (mathG "\\mathrm{G}") + (mathH "\\mathrm{H}") + (mathI "\\mathrm{I}") + (mathJ "\\mathrm{J}") + (mathK "\\mathrm{K}") + (mathL "\\mathrm{L}") + (mathM "\\mathrm{M}") + (mathN "\\mathrm{N}") + (mathO "\\mathrm{O}") + (mathP "\\mathrm{P}") + (mathQ "\\mathrm{Q}") + (mathR "\\mathrm{R}") + (mathS "\\mathrm{S}") + (mathT "\\mathrm{T}") + (mathU "\\mathrm{U}") + (mathV "\\mathrm{V}") + (mathW "\\mathrm{W}") + (mathX "\\mathrm{X}") + (mathY "\\mathrm{Y}") + (mathZ "\\mathrm{Z}") + (matha "\\mathrm{a}") + (mathb "\\mathrm{b}") + (mathc "\\mathrm{c}") (mathd "\\mathrm{d}") (mathD "\\mathrm{D}") (mathe "\\mathrm{e}") + (mathf "\\mathrm{f}") + (mathg "\\mathrm{g}") + (mathh "\\mathrm{h}") + (mathi "\\mathrm{i}") + (mathj "\\mathrm{j}") + (mathk "\\mathrm{k}") + (mathl "\\mathrm{l}") + (mathm "\\mathrm{m}") + (mathn "\\mathrm{n}") + (matho "\\mathrm{o}") + (mathp "\\mathrm{p}") + (mathq "\\mathrm{q}") + (mathr "\\mathrm{r}") + (maths "\\mathrm{s}") + (matht "\\mathrm{t}") + (mathu "\\mathrm{u}") + (mathv "\\mathrm{v}") + (mathw "\\mathrm{w}") + (mathx "\\mathrm{x}") + (mathy "\\mathrm{y}") + (mathz "\\mathrm{z}") (matheuler "\\gamma") (mathGamma "\\Gamma") (mathlambda "\\lambda") (mathLaplace "\\Delta") - (mathi "\\mathrm{i}") (mathpi "\\pi") (Alpha "\\mathrm{A}") (Beta "\\mathrm{B}") diff --git a/TeXmacs/plugins/latex/progs/convert/latex/latex-texmacs-drd.scm b/TeXmacs/plugins/latex/progs/convert/latex/latex-texmacs-drd.scm index 1fea4cfd0b..ccf1883712 100644 --- a/TeXmacs/plugins/latex/progs/convert/latex/latex-texmacs-drd.scm +++ b/TeXmacs/plugins/latex/progs/convert/latex/latex-texmacs-drd.scm @@ -58,8 +58,12 @@ divides ndivides asterisk dottimes precdot ;; extra literal symbols - mathcatalan mathd mathD mathe matheuler - mathGamma mathlambda mathLaplace mathi mathpi + mathcatalan mathA mathB mathC mathD mathE mathF mathG mathH mathI + mathJ mathK mathL mathM mathN mathO mathP mathQ mathR mathS mathT + mathU mathV mathW mathX mathY mathZ matha mathb mathc mathd mathD + mathe mathf mathg mathh mathi mathj mathk mathl mathm mathn matho + mathp mathq mathr maths matht mathu mathv mathw mathx mathy mathz + matheuler mathGamma mathlambda mathLaplace mathpi Alpha Beta Epsilon Eta Iota Kappa Mu Nu Omicron Chi Rho Tau Zeta ;; negations diff --git a/TeXmacs/progs/convert/latex/latex-define.scm b/TeXmacs/progs/convert/latex/latex-define.scm index 8039879e61..efc549dd30 100644 --- a/TeXmacs/progs/convert/latex/latex-define.scm +++ b/TeXmacs/progs/convert/latex/latex-define.scm @@ -129,14 +129,63 @@ ;; extra literal symbols (mathcatalan "\\mathrm{C}") + (mathA "\\mathrm{A}") + (mathB "\\mathrm{B}") + (mathC "\\mathrm{C}") + (mathD "\\mathrm{D}") + (mathE "\\mathrm{E}") + (mathF "\\mathrm{F}") + (mathG "\\mathrm{G}") + (mathH "\\mathrm{H}") + (mathI "\\mathrm{I}") + (mathJ "\\mathrm{J}") + (mathK "\\mathrm{K}") + (mathL "\\mathrm{L}") + (mathM "\\mathrm{M}") + (mathN "\\mathrm{N}") + (mathO "\\mathrm{O}") + (mathP "\\mathrm{P}") + (mathQ "\\mathrm{Q}") + (mathR "\\mathrm{R}") + (mathS "\\mathrm{S}") + (mathT "\\mathrm{T}") + (mathU "\\mathrm{U}") + (mathV "\\mathrm{V}") + (mathW "\\mathrm{W}") + (mathX "\\mathrm{X}") + (mathY "\\mathrm{Y}") + (mathZ "\\mathrm{Z}") + (matha "\\mathrm{a}") + (mathb "\\mathrm{b}") + (mathc "\\mathrm{c}") (mathd "\\mathrm{d}") (mathD "\\mathrm{D}") (mathe "\\mathrm{e}") + (mathf "\\mathrm{f}") + (mathg "\\mathrm{g}") + (mathh "\\mathrm{h}") + (mathi "\\mathrm{i}") + (mathj "\\mathrm{j}") + (mathk "\\mathrm{k}") + (mathl "\\mathrm{l}") + (mathm "\\mathrm{m}") + (mathn "\\mathrm{n}") + (matho "\\mathrm{o}") + (mathp "\\mathrm{p}") + (mathq "\\mathrm{q}") + (mathr "\\mathrm{r}") + (maths "\\mathrm{s}") + (matht "\\mathrm{t}") + (mathu "\\mathrm{u}") + (mathv "\\mathrm{v}") + (mathw "\\mathrm{w}") + (mathx "\\mathrm{x}") + (mathy "\\mathrm{y}") + (mathz "\\mathrm{z}") (matheuler "\\gamma") (mathGamma "\\Gamma") (mathlambda "\\lambda") (mathLaplace "\\Delta") - (mathi "\\mathrm{i}") (mathpi "\\pi") (Alpha "\\mathrm{A}") (Beta "\\mathrm{B}") diff --git a/TeXmacs/progs/convert/latex/latex-texmacs-drd.scm b/TeXmacs/progs/convert/latex/latex-texmacs-drd.scm index 1fea4cfd0b..ccf1883712 100644 --- a/TeXmacs/progs/convert/latex/latex-texmacs-drd.scm +++ b/TeXmacs/progs/convert/latex/latex-texmacs-drd.scm @@ -58,8 +58,12 @@ divides ndivides asterisk dottimes precdot ;; extra literal symbols - mathcatalan mathd mathD mathe matheuler - mathGamma mathlambda mathLaplace mathi mathpi + mathcatalan mathA mathB mathC mathD mathE mathF mathG mathH mathI + mathJ mathK mathL mathM mathN mathO mathP mathQ mathR mathS mathT + mathU mathV mathW mathX mathY mathZ matha mathb mathc mathd mathD + mathe mathf mathg mathh mathi mathj mathk mathl mathm mathn matho + mathp mathq mathr maths matht mathu mathv mathw mathx mathy mathz + matheuler mathGamma mathlambda mathLaplace mathpi Alpha Beta Epsilon Eta Iota Kappa Mu Nu Omicron Chi Rho Tau Zeta ;; negations diff --git a/TeXmacs/progs/language/std-symbols.scm b/TeXmacs/progs/language/std-symbols.scm index 1fe000f9a4..b08d80fb49 100644 --- a/TeXmacs/progs/language/std-symbols.scm +++ b/TeXmacs/progs/language/std-symbols.scm @@ -492,6 +492,17 @@ "" "" "" "" "" "" "" + "" "" "" "" "" + "" "" "" "" "" + "" "" "" "" "" + "" "" "" "" "" + "" "" "" "" "" + "" + "" "" "" "" "" + "" "" "" "" "" + "" "" "" "" "" + "" "" "" "" "" + "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" diff --git a/TeXmacs/progs/math/math-edit.scm b/TeXmacs/progs/math/math-edit.scm index b4f8164277..1a2d7a6c75 100644 --- a/TeXmacs/progs/math/math-edit.scm +++ b/TeXmacs/progs/math/math-edit.scm @@ -834,7 +834,7 @@ list | boolean (rb (caddr body))) `(symbol-completion ,(string-append lb rb))))) - ;; Case 4: math-separator + ;; Case 4: math-separator ((math-separator) (and (string? (cadr body)) `(symbol-completion @@ -847,7 +847,7 @@ list | boolean (- (string-length (cadr body)) 1)) (cadr body)) ">"))))) ;; 预留位置:可以在此添加其他函数的处理逻辑 - + (else #f))))))))))) #| @@ -998,17 +998,17 @@ list ;; 情况 B: 绑定是函数 (例如 math-big-operator 的闭包) ((procedure? raw-cmd) ;; 利用 function-to-symbol 解析 - (let ((parsed (function-to-symbol res))) + (let ((parsed (function-to-symbol res))) ;; function-to-symbol 返回的是 (symbol-completion "名字") (if (and (pair? parsed) (eq? (car parsed) 'symbol-completion)) (cadr parsed) #f))) - + (else #f)))) - + (if (string? bind-name) - (map (lambda (x) + (map (lambda (x) (if (and (pair? x) (eq? (car x) 'symbol-completion) ;; 用解析出来的 bind-name 进行比对 diff --git a/TeXmacs/progs/math/math-kbd.scm b/TeXmacs/progs/math/math-kbd.scm index bc8fa5c1cb..f33e272bfb 100644 --- a/TeXmacs/progs/math/math-kbd.scm +++ b/TeXmacs/progs/math/math-kbd.scm @@ -1679,10 +1679,13 @@ (kbd-map (:mode in-math-not-hybrid?) ("a var" "") + ("a var var" "") ("b var" "") ("b var var" "") + ("b var var var" "") ("c var" "") ("c var var" "") + ("c var var var" "") ("c - var" "<#A793>") ("d var" "") ("d var var" "") @@ -1694,58 +1697,81 @@ ("e var var var var" "") ("g var" "") ("g var var" "") + ("g var var var" "") ("h var" "") ("h var var" "") + ("h var var var" "") ("i var" "") ("i var var" "") ("i var var var" "") ("j var" "") ("j var var" "") ("j var var var" "") + ("j var var var var" "") ("k var" "") ("k var var" "") + ("k var var var" "") ("k - var" "<#A741>") ("l var" "") ("l var var" "") ("l var var var" "") + ("l var var var var" "") ("l - var" "<#A749>") ("m var" "") + ("m var var" "") ("n var" "") ("n var var" "") + ("n var var var" "") ("o var" "") + ("o var var" "") ("o - var" "<#A74B>") ("p var" "") ("p var var" "") ("p var var var" "") + ("p var var var var" "") ("p - var" "<#A751>") ("q var" "") + ("q var var" "") ("r var" "") ("r var var" "") + ("r var var var" "") ("s var" "") ("s var var" "") + ("s var var var" "") ("s - var" "<#A7A9>") ("t var" "") + ("t var var" "") ("u var" "") + ("u var var" "") ("v var" "") ("v var var" "") + ("v var var var" "") ("f var" "") ("f var var" "") + ("f var var var" "") ("f - var" "<#A799>") ("w var" "") ("w var var" "") + ("w var var var" "") ("x var" "") + ("x var var" "") ("y var" "") + ("y var var" "") ("z var" "") + ("z var var" "") ("A var" "") ("A var var" "") ("A var var var" "") + ("A var var var var" "") ("B var" "") ("B var var" "") ("B var var var" "") + ("B var var var var" "") ("C var" "") ("C var var" "") ("C var var var" "") + ("C var var var var" "") ("C - var" "<#A792>") ("D var" "") ("D var var" "") @@ -1756,11 +1782,14 @@ ("E var var" "") ("E var var var" "") ("E var var var var" "") + ("E var var var var var" "") ("G var" "") ("G var var" "") ("G var var var" "") ("G var var var var" "") + ("G var var var var var" "") ("H var" "") + ("H var var" "") ("I var" (math-big-operator "int")) ("I I var" (math-big-operator "iint")) ("I var ."(math-big-operator "idotsint")) @@ -1768,26 +1797,37 @@ ("I I I I var" (math-big-operator "iiiint")) ("I var var " "") ("I var var var" "") + ("I var var var var" "") ("J var" "") + ("J var var" "") ("K var" "") + ("K var var" "") ("K - var" "<#A740>") ("L var" "") + ("L var var" "") ("L - var" "<#A748>") ("M var" "") + ("M var var" "") ("N var" "") ("N var var" (math-big-operator "cap")) + ("N var var var" "") ("O var" "") + ("O var var" "") ("O - var" "<#A74A>") ("P var" "") ("P var var" "") ("P var var var" (math-big-operator "prod")) + ("P var var var var" "") ("P - var" "<#A750>") ("Q var" "") + ("Q var var" "") ("R var" "") ("R var var" "") + ("R var var var" "") ("S var" "") ("S var var" "") ("S var var var" (math-big-operator "sum")) + ("S var var var var" "") ("S - var" "<#A7A8>") ("T var" "") ("T var var" "") @@ -1796,21 +1836,29 @@ ("T var var var var var" "") ("T var var var var var var" "") ("T var var var var var var var" "") + ("T var var var var var var var var" "") ("U var" "") ("U var var" (math-big-operator "cup")) + ("U var var var" "") ("V var" "") ("V var var" "") + ("V var var var" "") ("F var" "") + ("F var var" "") ("F - var" "<#A798>") ("W var" "") ("W var var" "") + ("W var var var" "") ("X var" "") + ("X var var" "") ("Y var" "") ("Y var var" "") ("Y var var var" "") ("Y var var var var" "") ("Y var var var var var" "") - ("Z var" "")) + ("Y var var var var var var" "") + ("Z var" "") + ("Z var var" "")) (kbd-map (:mode in-math?) diff --git a/TeXmacs/progs/math/math-menu.scm b/TeXmacs/progs/math/math-menu.scm index 1fc6aef3d3..44563e1884 100644 --- a/TeXmacs/progs/math/math-menu.scm +++ b/TeXmacs/progs/math/math-menu.scm @@ -320,7 +320,7 @@ (symbol "") (symbol "") (symbol "") - + (symbol "") (symbol "") (symbol "") @@ -624,11 +624,60 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (menu-bind miscellaneous-symbol-menu + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") (symbol "") - (symbol "") (symbol "") - (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") + (symbol "") (symbol "") (symbol "") (symbol "") diff --git a/TeXmacs/tests/tmu/206_22.tmu b/TeXmacs/tests/tmu/206_22.tmu new file mode 100644 index 0000000000..fe0f796bee --- /dev/null +++ b/TeXmacs/tests/tmu/206_22.tmu @@ -0,0 +1,8 @@ +> + +<\body> + \ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\> + + + +> diff --git a/devel/206_22.md b/devel/206_22.md new file mode 100644 index 0000000000..a4ba0d9650 --- /dev/null +++ b/devel/206_22.md @@ -0,0 +1,11 @@ +# 206_22 增加英文字母正体字体 + +## 如何测试 +### 手动测试 +以小写字母a为例,在数学模式下按下 +``` +a tab tab tab +``` +可以生成正体字母a,其余小写字母同理,大写字母同理。 +### 文档测试 +打开`TeXmacs/test/tmu/206_22.tmu`进行测试,显示了数学模式下的26个大小写字母组合。