Si tengo una letra de tipo"rectángulo (vertical) conesquinas redondeadas"y ponerlo en un \colorbox{<fillcolor>}{text}
, ¿hay alguna manera de configurar los parámetros del cuadro de colores para que exactamente el área interior esté llena de color?
Problema:Las "esquinas redondeadas" dificultan la tarea. Probablemente la configuración \setlength{\fboxsep}{-0.57505pt}
no sea suficiente.
Pista 1:Yo creé el"rectángulo (vertical) con esquinas redondeadas"Yo mismo uso FontForge.
Para un ejemplo de prueba, utilicé U+25A2 "White Square with Rounded Corners"
(porque solo encontré un cuadradocon esquinas redondeadas, no un rectángulo) con la fuente Cambria.ttf
.
La fuente esnoimportante para el ejemplo de prueba ytambién se puede reemplazar, siempre que la fuente contenga U+25A2
.
Pista 2:Ciertamente hay algo con TikZ, tcolorbox, etc. Pero trato de descubrir si se puede hacer eso con lo normal \colorbox
(!).
\documentclass[margin=5pt]{standalone}
\usepackage{xcolor}
\usepackage{fontspec}
\newfontfamily\myfont{Cambria}% a font that contains U+25A2
\newcommand\mychar{\myfont\char"25A2}%U+25A2 ---> White Square with Rounded Corners
\begin{document}
\setlength{\fboxsep}{-0.57505pt}
Test: \colorbox{yellow}{\mychar}
\end{document}
Respuesta1
No sé para su letra personalizada, pero para el carácter U+25A2
(▢) parece que su cuadro delimitador no se ajusta a su forma (al menos, con la Cambria
fuente). No tengo la Cambria
fuente instalada, pero ocurre lo mismo con DejaVu Sans
:
\documentclass[margin=5pt]{standalone}
\usepackage{xcolor}
\usepackage{fontspec}
\newfontfamily\myfont{DejaVu Sans}% a font that contains U+25A2
\newcommand\mychar{\myfont\char"25A2}%U+25A2 ---> White Square with Rounded Corners
\begin{document}
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{0.05pt}
\fcolorbox{red}{white}{\mychar}
\end{document}
Con un cuadrado, puedes usar la altura para corregir el cuadro delimitador horizontal, con algo como
\sbox{0}{\mychar}%
\dimen0=\dimexpr \wd0 - \ht0 - \dp0\relax%
\setlength{\fboxsep}{-0.25\dimen0}%
\colorbox{yellow}{\kern -0.5\dimen0\usebox{0}\kern -0.5\dimen0}%
Quizás puedas hacer algo similar con tu forma personalizada.
Ejemplo completo, con caracteres U+25A2
y DejaVu Sans
fuente:
\documentclass[margin=5pt]{standalone}
\usepackage{xcolor}
\usepackage{fontspec}
\newfontfamily\myfont{DejaVu Sans}% a font that contains U+25A2
\newcommand\mychar{\myfont\char"25A2}%U+25A2 ---> White Square with Rounded Corners
\newcommand\myfilledchar{%
\begingroup%
\sbox{0}{\mychar}%
\dimen0=\dimexpr \wd0 - \ht0 - \dp0\relax%
\setlength{\fboxsep}{-0.25\dimen0}%
\colorbox{yellow}{\kern -0.5\dimen0\usebox{0}\kern -0.5\dimen0}%
\endgroup%
}
\begin{document}
\myfilledchar
\quad
{\Huge \myfilledchar}
\quad
{\tiny \myfilledchar}
\end{document}