fix(text): fallback de minúscules a majúscules i glif de barra baixa (_)
This commit is contained in:
@@ -0,0 +1,9 @@
|
|||||||
|
# char_underscore.shp - Símbolo _ (barra baja)
|
||||||
|
# Dimensiones: 20×40 (blocky display)
|
||||||
|
|
||||||
|
name: char_underscore
|
||||||
|
scale: 1.0
|
||||||
|
center: 10, 20
|
||||||
|
|
||||||
|
# Línea horizontal abajo (bajo la baseline de las letras)
|
||||||
|
line: 3,33 17,33
|
||||||
@@ -48,7 +48,7 @@ namespace Graphics {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cargar símbolos
|
// Cargar símbolos
|
||||||
const std::string SYMBOLS[] = {".", ",", "-", ":", "!", "?", "/", "(", ")"};
|
const std::string SYMBOLS[] = {".", ",", "-", ":", "!", "?", "/", "(", ")", "_"};
|
||||||
for (const auto& sym : SYMBOLS) {
|
for (const auto& sym : SYMBOLS) {
|
||||||
char c = sym[0];
|
char c = sym[0];
|
||||||
std::string filename = getShapeFilename(c);
|
std::string filename = getShapeFilename(c);
|
||||||
@@ -171,6 +171,8 @@ namespace Graphics {
|
|||||||
return "font/char_lparen.shp";
|
return "font/char_lparen.shp";
|
||||||
case ')':
|
case ')':
|
||||||
return "font/char_rparen.shp";
|
return "font/char_rparen.shp";
|
||||||
|
case '_':
|
||||||
|
return "font/char_underscore.shp";
|
||||||
case ' ':
|
case ' ':
|
||||||
return ""; // Espai es maneja sin load shape
|
return ""; // Espai es maneja sin load shape
|
||||||
|
|
||||||
@@ -183,6 +185,10 @@ namespace Graphics {
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto VectorText::isSupported(char c) const -> bool {
|
auto VectorText::isSupported(char c) const -> bool {
|
||||||
|
// Mateix fallback que render(): a-z es resol al glif A-Z.
|
||||||
|
if (c >= 'a' && c <= 'z') {
|
||||||
|
c -= 32;
|
||||||
|
}
|
||||||
return chars_.contains(c);
|
return chars_.contains(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,6 +227,14 @@ namespace Graphics {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fallback de la font (només tenim glifs en majúscula): tractem
|
||||||
|
// les minúscules a-z com les seves majúscules A-Z. Mentre no hi
|
||||||
|
// haja glifs de minúscula, això evita que el text en minúscules
|
||||||
|
// (p. ex. rutes de fitxer) desaparega.
|
||||||
|
if (c >= 'a' && c <= 'z') {
|
||||||
|
c -= 32;
|
||||||
|
}
|
||||||
|
|
||||||
// Verificar si el carácter está soportado
|
// Verificar si el carácter está soportado
|
||||||
auto it = chars_.find(c);
|
auto it = chars_.find(c);
|
||||||
if (it != chars_.end()) {
|
if (it != chars_.end()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user