Missing °C symbol in math mode with dejavu font
Hi all,
The °C symbol is missing in math mode with the dejavu font. I thought that
this should be handled by using the '°' + 'C' symbols instead but it is not
the case.
Is that a bug?
What can I do to get the °C symbol with this font?
%% MWE
\setupbodyfont[dejavu]
\starttext
Temperature : \unit{100 celsius} works.\par
Temperature : \m{\unit{100 celsius}} doesn't work.
\stoptext
--
Romain Diss
On Mon, 20 May 2013 22:29:22 +0200
Romain Diss
The °C symbol is missing in math mode with the dejavu font. I thought that this should be handled by using the '°' + 'C' symbols instead but it is not the case. Is that a bug? What can I do to get the °C symbol with this font?
With dejavu, A, B, and D all work, but C is missing a symbol. A 100℃ B 100°C C $100℃$ D $100°C$ Alan
On Mon, May 20, 2013 at 10:57:16PM +0200, Alan BRASLAU wrote:
On Mon, 20 May 2013 22:29:22 +0200 Romain Diss
wrote: The °C symbol is missing in math mode with the dejavu font. I thought that this should be handled by using the '°' + 'C' symbols instead but it is not the case. Is that a bug? What can I do to get the °C symbol with this font?
With dejavu, A, B, and D all work, but C is missing a symbol.
A 100℃
B 100°C
C $100℃$
Since this is compatibility character, I think ConTeXt should just degree + plain capital C. Regards, Khaled
Le lundi 20 mai 2013, Alan BRASLAU a écrit :
On Mon, 20 May 2013 22:29:22 +0200 Romain Diss
wrote: The °C symbol is missing in math mode with the dejavu font. I thought that this should be handled by using the '°' + 'C' symbols instead but it is not the case. Is that a bug? What can I do to get the °C symbol with this font? With dejavu, A, B, and D all work, but C is missing a symbol. A 100℃ B 100°C C $100℃$ D $100°C$ The question is: do \unit is supposed to handle this case and automatically switch from C to D if C is missing. If not, how can I tell \unit that C is missing and that I want \unit{celsius} to use D?
Thanks
--
Romain Diss
Am 20.05.2013 um 23:04 schrieb Romain Diss
Le lundi 20 mai 2013, Alan BRASLAU a écrit :
On Mon, 20 May 2013 22:29:22 +0200 Romain Diss
wrote: The °C symbol is missing in math mode with the dejavu font. I thought that this should be handled by using the '°' + 'C' symbols instead but it is not the case. Is that a bug? What can I do to get the °C symbol with this font? With dejavu, A, B, and D all work, but C is missing a symbol. A 100℃ B 100°C C $100℃$ D $100°C$ The question is: do \unit is supposed to handle this case and automatically switch from C to D if C is missing. If not, how can I tell \unit that C is missing and that I want \unit{celsius} to use D?
Hans can add a check for math mode for the symbol: \unprotect \unexpanded\def\checkedtextcelsius {\ifmmode \phys_units_text_celsius \else\iffontchar\font"2103\relax ℃\else\phys_units_text_celsius \fi\fi} \unexpanded\def\checkedtextfahrenheit {\ifmmode \phys_units_text_fahrenheit \else\iffontchar\font"2109\relax ℉\else\phys_units_text_fahrenheit \fi\fi} \protect \setupbodyfont[dejavu] \starttext Temperature : \unit{100 celsius} works.\par Temperature : \m{\unit{100 celsius}} doesn't work. \stoptext Wolfgang
On Mon, May 20, 2013 at 11:13:16PM +0200, Wolfgang Schuster wrote:
Am 20.05.2013 um 23:04 schrieb Romain Diss
: Le lundi 20 mai 2013, Alan BRASLAU a écrit :
On Mon, 20 May 2013 22:29:22 +0200 Romain Diss
wrote: The °C symbol is missing in math mode with the dejavu font. I thought that this should be handled by using the '°' + 'C' symbols instead but it is not the case. Is that a bug? What can I do to get the °C symbol with this font? With dejavu, A, B, and D all work, but C is missing a symbol. A 100℃ B 100°C C $100℃$ D $100°C$ The question is: do \unit is supposed to handle this case and automatically switch from C to D if C is missing. If not, how can I tell \unit that C is missing and that I want \unit{celsius} to use D?
Hans can add a check for math mode for the symbol:
\unprotect
\unexpanded\def\checkedtextcelsius {\ifmmode \phys_units_text_celsius \else\iffontchar\font"2103\relax ℃\else\phys_units_text_celsius \fi\fi}
\unexpanded\def\checkedtextfahrenheit {\ifmmode \phys_units_text_fahrenheit \else\iffontchar\font"2109\relax ℉\else\phys_units_text_fahrenheit \fi\fi}
\protect
My suggestion is to just use \phys_units_text_* always, since the decomposed, two characters is the preferred form for those two units. Regards, Khaled
On Mon, May 20, 2013 at 11:22:41PM +0200, Khaled Hosny wrote:
My suggestion is to just use \phys_units_text_* always, since the decomposed, two characters is the preferred form for those two units.
“In normal use, it is better to represent degrees Celsius ‘°C’ with a sequence of U+00B0 DEGREE SIGN + U+0043 LATIN CAPITAL LETTER C, rather than U+2103 DEGREE CELSIUS. For searching, treat these two sequences as identical. Similarly, the sequence U+00B0 DEGREE SIGN + U+0046 LATIN CAPITAL LETTER F is preferred over U+2109 DEGREE FAHRENHEIT, and those two sequences should be treated as identical for searching.” http://www.unicode.org/versions/Unicode6.2.0/ch15.pdf#G20445 Regards, Khaled
On 5/20/2013 11:36 PM, Khaled Hosny wrote:
On Mon, May 20, 2013 at 11:22:41PM +0200, Khaled Hosny wrote:
My suggestion is to just use \phys_units_text_* always, since the decomposed, two characters is the preferred form for those two units.
“In normal use, it is better to represent degrees Celsius ‘°C’ with a sequence of U+00B0 DEGREE SIGN + U+0043 LATIN CAPITAL LETTER C, rather than U+2103 DEGREE CELSIUS. For searching, treat these two sequences as identical. Similarly, the sequence U+00B0 DEGREE SIGN + U+0046 LATIN CAPITAL LETTER F is preferred over U+2109 DEGREE FAHRENHEIT, and those two sequences should be treated as identical for searching.”
http://www.unicode.org/versions/Unicode6.2.0/ch15.pdf#G20445
Searching should be ok due to the tonunicode that mentions the two characters ... how about the visual aspect? Should we care about? It's no problem to make an option to always use the split version. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Tue, May 21, 2013 at 10:01:30AM +0200, Hans Hagen wrote:
On 5/20/2013 11:36 PM, Khaled Hosny wrote:
On Mon, May 20, 2013 at 11:22:41PM +0200, Khaled Hosny wrote:
My suggestion is to just use \phys_units_text_* always, since the decomposed, two characters is the preferred form for those two units.
“In normal use, it is better to represent degrees Celsius ‘°C’ with a sequence of U+00B0 DEGREE SIGN + U+0043 LATIN CAPITAL LETTER C, rather than U+2103 DEGREE CELSIUS. For searching, treat these two sequences as identical. Similarly, the sequence U+00B0 DEGREE SIGN + U+0046 LATIN CAPITAL LETTER F is preferred over U+2109 DEGREE FAHRENHEIT, and those two sequences should be treated as identical for searching.”
http://www.unicode.org/versions/Unicode6.2.0/ch15.pdf#G20445
Searching should be ok due to the tonunicode that mentions the two characters ... how about the visual aspect? Should we care about?
I think for ConTeXt purposes we should just ignore the composed form, it is there only for compatibility with some legacy CJK encodings and their use is almost discouraged. If user enters those code points directly, then he on his own, so nothing to be done here either. In short, this is just some of the compatibility nonsense crippling Unicode, we are better off pretending they do not exist Regards, Khaled
participants (6)
-
Alan BRASLAU
-
Arthur Reutenauer
-
Hans Hagen
-
Khaled Hosny
-
Romain Diss
-
Wolfgang Schuster