Wenn ich einen Brief vom Typ"(vertikales) Rechteck mitabgerundete Ecken"und es in ein einfügen \colorbox{<fillcolor>}{text}
. Gibt es eine Möglichkeit, die Farbbox-Parameter so einzustellen, dass genau der innere Bereich mit Farbe gefüllt wird?
Problem:Die „abgerundeten Ecken“ erschweren die Aufgabe. Die Einstellung \setlength{\fboxsep}{-0.57505pt}
reicht wahrscheinlich nicht aus.
Hinweis 1:Ich habe das„(vertikales) Rechteck mit abgerundeten Ecken“selbst mit FontForge.
Für ein Testbeispiel habe ich verwendet U+25A2 "White Square with Rounded Corners"
(weil ich nur ein quadratischesmit abgerundeten Ecken, kein Rechteck) mit der Schriftart Cambria.ttf
.
Die Schriftart istnichtwichtig für das Testbeispiel undkann auch ersetzt werden, solange die Schriftart enthält U+25A2
.
Hinweis 2:Da geht sicher was mit TikZ, tcolorbox usw. Aber ich versuche mal rauszufinden, ob man das auch mit dem normalen \colorbox
(!) machen kann.
\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}
Antwort1
Ich weiß nicht, wie das bei Ihrem benutzerdefinierten Buchstaben ist, aber bei dem Zeichen U+25A2
(▢) scheint der Begrenzungsrahmen nicht zu seiner Form zu passen (zumindest bei der Cambria
Schriftart). Ich habe die Schriftart nicht installiert, aber bei : Cambria
ist es dasselbe .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}
Bei einem Quadrat können Sie die Höhe verwenden, um den horizontalen Begrenzungsrahmen zu korrigieren, etwa mit
\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}%
Vielleicht könnten Sie mit Ihrer benutzerdefinierten Form etwas Ähnliches machen.
Vollständiges Beispiel mit Zeichen U+25A2
und DejaVu Sans
Schriftart:
\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}