diff --git a/plugin/contents/ui/dancer.html b/plugin/contents/ui/dancer.html index bed22b8..f950bcc 100644 --- a/plugin/contents/ui/dancer.html +++ b/plugin/contents/ui/dancer.html @@ -1536,6 +1536,11 @@ function makeConstellationPreviewProjector(constellation, W, horizonPx) { }; } +const ZODIAC_SYMBOLS = { + Ari: '♈', Tau: '♉', Gem: '♊', Cnc: '♋', Leo: '♌', Vir: '♍', + Lib: '♎', Sco: '♏', Sgr: '♐', Cap: '♑', Aqr: '♒', Psc: '♓', +}; + /* Traçados convencionais dos 12 signos zodiacais, ancorados em RA/Dec J2000. */ function drawConstellations(c, lst, W, H, horizonPx) { if (!showConstellations || typeof CONSTELLATIONS === 'undefined') return; @@ -1601,24 +1606,26 @@ function drawConstellations(c, lst, W, H, horizonPx) { } } - /* Todos os signos recebem nome; colisões na tela ainda são evitadas. */ + /* Cada signo é rotulado pelo seu símbolo; colisões na tela ainda são + evitadas. \uFE0E força a forma de texto (sem versão emoji colorida). */ c.shadowBlur = 5; - c.font = `${Math.max(10, Math.round(H * 0.0105))}px ui-monospace, monospace`; + c.font = `${Math.max(14, Math.round(H * 0.015))}px ui-monospace, monospace`; c.textAlign = 'center'; c.textBaseline = 'middle'; - c.fillStyle = 'rgba(170,225,255,0.66)'; + c.fillStyle = 'rgba(170,225,255,0.72)'; const occupied = []; for (const constellation of visible) { if (!constellation.label) continue; const sc = projectPoint(constellation.label); if (!sc || sc.y < 24 || sc.y > horizonPx - 18) continue; - const width = c.measureText(constellation.name).width + 14; - const box = { x1: sc.x - width / 2, y1: sc.y - 9, - x2: sc.x + width / 2, y2: sc.y + 9 }; + const symbol = (ZODIAC_SYMBOLS[constellation.id] || constellation.name) + '\uFE0E'; + const width = c.measureText(symbol).width + 14; + const box = { x1: sc.x - width / 2, y1: sc.y - 11, + x2: sc.x + width / 2, y2: sc.y + 11 }; if (occupied.some(o => box.x1 < o.x2 && box.x2 > o.x1 && box.y1 < o.y2 && box.y2 > o.y1)) continue; occupied.push(box); - c.fillText(preview ? `Prévia: ${constellation.name}` : constellation.name, sc.x, sc.y); + c.fillText(symbol, sc.x, sc.y); } c.restore(); }