Opció --no-accents / «Sense accents» a CLI i GUI
This commit is contained in:
+21
-11
@@ -47,12 +47,13 @@ class FontGenApp(tk.Tk):
|
||||
self._last_result: font_gen.FontBitmapResult | None = None
|
||||
self._zoom: int | None = DEFAULT_ZOOM # None = auto-fit; int = escala explícita
|
||||
|
||||
self.ttf_var = tk.StringVar()
|
||||
self.size_var = tk.IntVar(value=8)
|
||||
self.output_var = tk.StringVar()
|
||||
self.columns_var = tk.IntVar(value=15)
|
||||
self.bw_var = tk.StringVar() # "" = auto
|
||||
self.bh_var = tk.StringVar() # "" = auto
|
||||
self.ttf_var = tk.StringVar()
|
||||
self.size_var = tk.IntVar(value=8)
|
||||
self.output_var = tk.StringVar()
|
||||
self.columns_var = tk.IntVar(value=15)
|
||||
self.bw_var = tk.StringVar() # "" = auto
|
||||
self.bh_var = tk.StringVar() # "" = auto
|
||||
self.strip_accents_var = tk.BooleanVar(value=False)
|
||||
|
||||
self._adv_visible = False
|
||||
|
||||
@@ -60,7 +61,8 @@ class FontGenApp(tk.Tk):
|
||||
self._load_state() # antes de los traces: el set() inicial no debe disparar preview
|
||||
self._update_zoom_label()
|
||||
|
||||
for v in (self.ttf_var, self.size_var, self.columns_var, self.bw_var, self.bh_var):
|
||||
for v in (self.ttf_var, self.size_var, self.columns_var,
|
||||
self.bw_var, self.bh_var, self.strip_accents_var):
|
||||
v.trace_add("write", lambda *_: self._schedule_preview())
|
||||
|
||||
# Disparar un preview inicial si _load_state nos dejó un TTF válido.
|
||||
@@ -86,6 +88,8 @@ class FontGenApp(tk.Tk):
|
||||
ttk.Spinbox(row, from_=4, to=128, width=5, textvariable=self.size_var).pack(side="left")
|
||||
ttk.Label(row, text="Salida:").pack(side="left", padx=(16, 4))
|
||||
ttk.Entry(row, textvariable=self.output_var, width=24).pack(side="left")
|
||||
ttk.Checkbutton(row, text="Sense accents",
|
||||
variable=self.strip_accents_var).pack(side="left", padx=(16, 0))
|
||||
|
||||
self.adv_btn = ttk.Button(root, text="▸ Opciones avanzadas", command=self._toggle_advanced)
|
||||
self.adv_btn.pack(anchor="w", pady=(8, 0))
|
||||
@@ -202,7 +206,10 @@ class FontGenApp(tk.Tk):
|
||||
bh = _parse_optional_positive_int(self.bh_var.get())
|
||||
|
||||
try:
|
||||
result = font_gen.build_font_bitmap(ttf, size, columns, bw, bh)
|
||||
result = font_gen.build_font_bitmap(
|
||||
ttf, size, columns, bw, bh,
|
||||
strip_accents=self.strip_accents_var.get(),
|
||||
)
|
||||
except Exception as e:
|
||||
self._show_preview_error(f"Error: {e}")
|
||||
return
|
||||
@@ -333,6 +340,8 @@ class FontGenApp(tk.Tk):
|
||||
size = state.get("size")
|
||||
if isinstance(size, int) and 4 <= size <= 256:
|
||||
self.size_var.set(size)
|
||||
if isinstance(state.get("strip_accents"), bool):
|
||||
self.strip_accents_var.set(state["strip_accents"])
|
||||
# Zoom: None (auto), o int en [1, MANUAL_MAX_SCALE]
|
||||
if "zoom" in state:
|
||||
zoom = state["zoom"]
|
||||
@@ -347,9 +356,10 @@ class FontGenApp(tk.Tk):
|
||||
except tk.TclError:
|
||||
size = 8
|
||||
state = {
|
||||
"ttf": self.ttf_var.get().strip(),
|
||||
"size": size,
|
||||
"zoom": self._zoom,
|
||||
"ttf": self.ttf_var.get().strip(),
|
||||
"size": size,
|
||||
"zoom": self._zoom,
|
||||
"strip_accents": self.strip_accents_var.get(),
|
||||
}
|
||||
try:
|
||||
with open(STATE_FILE, "w", encoding="utf-8") as f:
|
||||
|
||||
Reference in New Issue
Block a user