fix: 12px 伪粗体文字自动加 1px 字距,消除相邻字粘连
- 12px 点阵字形间只有 1 列空隙,伪粗体右偏 1px 正好填满导致左右重叠;13/24px 空隙 2 列不受影响 - 基类新增 _track():12px 且加粗时自动加 k 字距,text/rtext/ctext/_mid 统一走它,宽版映射到 12px 的 F13/F16/FPACE 同样命中 - 新增 _tw_b() 取含粗体偏移与字距的实际占宽,替换环比/同比居中、金额前后缀、状态栏推进、BTC 涨跌幅、用量行进度条右端的手写宽度 - 夹具回归:小屏 F13/F16 部分逐像素不变,各行进度条右端仍齐平 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -111,7 +111,7 @@ class E1002Renderer(DashboardRenderer):
|
||||
txt = f"{lvl}%" if lvl is not None else "--"
|
||||
b = 1 if lvl is not None else 0 # 数字伪粗体、字号不变(2026-09-14 用户要求);占位不加粗
|
||||
self._mid(x, cy, txt, F, bold=b)
|
||||
return x + self._tw(txt, F) + b
|
||||
return x + self._tw_b(txt, F, b)
|
||||
|
||||
def _status_env(self, x, cy, dev):
|
||||
"""状态项·环境(F12,数字伪粗体,墨迹中心 cy):温度计(细管 3×8 + 底部球 7×7,管内水银线)+温度 | 蓝色水滴(上尖下圆)+湿度,
|
||||
@@ -125,7 +125,7 @@ class E1002Renderer(DashboardRenderer):
|
||||
t = dev.get("temp")
|
||||
txt = f"{t:.1f}℃" if t is not None else "--"
|
||||
b = 1 if t is not None else 0 # 数字伪粗体、字号不变(2026-09-14 用户要求);占位不加粗
|
||||
self._mid(x, cy, txt, F, bold=b); x += self._tw(txt, F) + b + GAP
|
||||
self._mid(x, cy, txt, F, bold=b); x += self._tw_b(txt, F, b) + GAP
|
||||
self.d.polygon([(x + 4, cy - 6), (x, cy + 2), (x + 8, cy + 2)], fill=BLUE)
|
||||
self.d.ellipse([x, cy - 1, x + 8, cy + 6], fill=BLUE)
|
||||
x += 9 + GAP_I
|
||||
@@ -133,7 +133,7 @@ class E1002Renderer(DashboardRenderer):
|
||||
txt = f"{h:.0f}%" if h is not None else "--"
|
||||
b = 1 if h is not None else 0
|
||||
self._mid(x, cy, txt, F, bold=b)
|
||||
return x + self._tw(txt, F) + b
|
||||
return x + self._tw_b(txt, F, b)
|
||||
|
||||
def _color_strip(self, y0, y1, x0=None, x1=None):
|
||||
"""六色测试色条:六块等宽实心色块,白块加 1px 黑框以便可见。真机校准用。"""
|
||||
@@ -239,7 +239,7 @@ class E1002Renderer(DashboardRenderer):
|
||||
col = GREEN if chg >= 0 else RED
|
||||
xr = x1
|
||||
pct_txt = f"{abs(chg):.2f}%"
|
||||
self.rtext(xr, y0, pct_txt, self.F12, fill=col, bold=1); xr -= self._tw(pct_txt, self.F12) + 1 + 4 # 涨跌幅伪粗体(+1 为粗体偏移)
|
||||
self.rtext(xr, y0, pct_txt, self.F12, fill=col, bold=1); xr -= self._tw_b(pct_txt, self.F12, 1) + 4 # 涨跌幅伪粗体
|
||||
self.tri(xr - 4, y0 + 8.5, 7, up=chg >= 0, fill=col); xr -= 8 + 6
|
||||
if btc.get("chg_label"): # 涨跌幅口径(24h / 1d)
|
||||
self.rtext(xr, y0, btc["chg_label"], self.F12); xr -= self._tw(btc["chg_label"], self.F12) + 10
|
||||
|
||||
Reference in New Issue
Block a user