Получить ширину основы (i, T) шрифта в ConTeXt Mk IV

Получить ширину основы (i, T) шрифта в ConTeXt Mk IV

В руководстве TiKz говорится:

... что в LaTeX есть две команды, которые называются \thinlines и \thicklines, и что \thinlines определяет толщину «нормальных» линий, точнее, толщину, которую, скажем, имеет основа буквы «T» или «i».

Есть ли похожая команда в ConTeXt для получения ширины основы i,T шрифта? Я хотел бы иметь согласованную ширину линии в моих рисунках MetaPost и используемом шрифте.

решение1

Обратите внимание, что LaTeX не использует текущую ширину основы T; вместо этого он использует \fontdimen8шрифт line10, который равен ширине основыT для современных компьютерных шрифтов. Вы можете скопировать определение LaTeX в ConTeXt

\font\tenln  line10   
\font\tenlnw linew10

\newdimen\wholewidth
\newdimen\halfwidth

\def\thinlines
  {\wholewidth\fontdimen8\tenln 
   \halfwidth .5\wholewidth}

\def\thicklines
  {\wholewidth\fontdimen8\tenlnw 
   \halfwidth .5\wholewidth}


\startbuffer[circle]
  draw fullcircle xyscaled (1cm,1cm) withpen pencircle scaled \the\wholewidth
\stopbuffer

\starttext
Thinlines: \thinlines
\processMPbuffer[circle]

Thicklines: \thicklines
\processMPbuffer[circle]

\stoptext

который дает

введите описание изображения здесь

ПримечаниеПо какой-то причине код выше не работает с MkIV. Я не знаю, почему так.

Связанный контент