Эх сурвалжийг харах

a 与 y 换位;变量键标签改成斜体衬线

等宽字体里 `x`(变量)和 `×`(乘号)几乎一模一样,用户实测反馈"太像了"。
数学排版的老办法本来就是变量斜体、运算符正体,所以变量键(x y a t n)
的标签改用斜体衬线、字号也放大一档,和运算符一眼分得开。

顺带 a 与 y 换位:x y a t n

Co-Authored-By: Claude Code <noreply@anthropic.com>
nonvioce 4 долоо хоног өмнө
parent
commit
c55471f180
1 өөрчлөгдсөн 15 нэмэгдсэн , 9 устгасан
  1. 15 9
      lib/calculator_page.dart

+ 15 - 9
lib/calculator_page.dart

@@ -500,13 +500,11 @@ class _CalculatorPageState extends State<CalculatorPage> {
           ],
           // 3 变量
           [
-            _Key('x', _Act.char, payload: 'x'),
-            _Key('a', _Act.char, payload: 'a'),
-            // y 比 b 要紧:二元方程组、圆的方程、对称变换全都要 y,
-            // 而 b 在函数面板之外也没什么独占用途
-            _Key('y', _Act.char, payload: 'y'),
-            _Key('t', _Act.char, payload: 't'),
-            _Key('n', _Act.char, payload: 'n'),
+            _Key('x', _Act.char, payload: 'x', mathVar: true),
+            _Key('y', _Act.char, payload: 'y', mathVar: true),
+            _Key('a', _Act.char, payload: 'a', mathVar: true),
+            _Key('t', _Act.char, payload: 't', mathVar: true),
+            _Key('n', _Act.char, payload: 'n', mathVar: true),
           ],
           // 4 运算符:解方程、赋值、代入、定义函数全靠它们。
           // 都是"运算符"不是"函数",所以放键盘上而不是函数面板里。
@@ -609,8 +607,11 @@ class _CalculatorPageState extends State<CalculatorPage> {
             k.label,
             style: TextStyle(
               color: fg,
-              fontSize: k.label.length > 2 ? 13 : 17,
-              fontFamily: k.label.length > 2 ? null : 'monospace',
+              fontSize: k.label.length > 2 ? 13 : (k.mathVar ? 20 : 17),
+              fontFamily: k.mathVar
+                  ? 'serif'
+                  : (k.label.length > 2 ? null : 'monospace'),
+              fontStyle: k.mathVar ? FontStyle.italic : FontStyle.normal,
             ),
           ),
         ),
@@ -651,6 +652,10 @@ class _Key {
   /// 编辑框里显示的名字(和真正送出去的 payload 不同时用)。
   final String? display;
 
+  /// 是不是"数学变量"。变量键的标签用**斜体衬线**,和运算符区分开 ——
+  /// 等宽字体里 `x`(变量)和 `×`(乘号)几乎一模一样,用户实测反馈过。
+  final bool mathVar;
+
   final bool tint;
   final bool primary;
 
@@ -661,6 +666,7 @@ class _Key {
     this.prefill = const [],
     this.mergeDigit = false,
     this.display,
+    this.mathVar = false,
     this.tint = false,
     this.primary = false,
   });