colorbox: 모서리가 둥근 직사각형(정사각형)의 내부 영역만 채우는 방법

colorbox: 모서리가 둥근 직사각형(정사각형)의 내부 영역만 채우는 방법

만약 내가 문자 형식을 가지고 있다면"(수직) 직사각형둥근 모서리"에 넣으면 \colorbox{<fillcolor>}{text}정확히 내부 영역이 색상으로 채워지도록 색상 상자 매개 변수를 설정하는 방법이 있습니까?

문제:'둥근 모서리'는 작업을 어렵게 만듭니다. 설정이 \setlength{\fboxsep}{-0.57505pt}충분하지 않을 수 있습니다.

여기에 이미지 설명을 입력하세요

힌트 1:나는"(수직) 모서리가 둥근 직사각형"나 자신은 FontForge를 사용하고 있습니다.
테스트 예를 들어 U+25A2 "White Square with Rounded Corners"(정사각형만 찾았기 때문에)둥근 모서리가 있는, 직사각형 아님) 글꼴을 사용합니다 Cambria.ttf.
글꼴은~ 아니다테스트 예제에 중요한교체도 가능하다, 글꼴에 U+25A2.

힌트 2:TikZ, tcolorbox 등에는 확실히 뭔가가 있습니다. 하지만 일반 \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}

답변1

귀하의 맞춤 문자는 모르겠지만 문자 U+25A2(▢)의 경우 경계 상자가 모양에 맞지 않는 것 같습니다(적어도 글꼴에는 Cambria). 글꼴이 설치되어 있지 않지만 Cambria다음과 동일합니다 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}

▢ 경계 상자

정사각형의 경우 높이를 사용하여 다음과 같이 수평 경계 상자를 수정할 수 있습니다.

\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}%

어쩌면 사용자 정의 모양으로 비슷한 작업을 수행할 수도 있습니다.

U+25A2문자 및 글꼴이 포함된 전체 예 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

\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}

전체 예시

관련 정보