version 1.117, 2020/01/19 16:44:50 |
version 1.118, 2020/10/24 22:57:39 |
Line 203 mandoc_escape(const char **end, const char **start, in |
|
Line 203 mandoc_escape(const char **end, const char **start, in |
|
case 'O': |
case 'O': |
case 'V': |
case 'V': |
case 'Y': |
case 'Y': |
gly = (*start)[-1] == 'f' ? ESCAPE_FONT : ESCAPE_IGNORE; |
case '*': |
|
switch ((*start)[-1]) { |
|
case 'f': |
|
gly = ESCAPE_FONT; |
|
break; |
|
case '*': |
|
gly = ESCAPE_DEVICE; |
|
break; |
|
default: |
|
gly = ESCAPE_IGNORE; |
|
break; |
|
} |
switch (**start) { |
switch (**start) { |
case '(': |
case '(': |
if ((*start)[-1] == 'O') |
if ((*start)[-1] == 'O') |
Line 238 mandoc_escape(const char **end, const char **start, in |
|
Line 249 mandoc_escape(const char **end, const char **start, in |
|
break; |
break; |
} |
} |
break; |
break; |
case '*': |
|
if (strncmp(*start, "(.T", 3) != 0) |
|
abort(); |
|
gly = ESCAPE_DEVICE; |
|
*start = ++*end; |
|
*sz = 2; |
|
break; |
|
|
|
/* |
/* |
* These escapes are of the form \X'Y', where 'X' is the trigger |
* These escapes are of the form \X'Y', where 'X' is the trigger |
Line 458 mandoc_escape(const char **end, const char **start, in |
|
Line 462 mandoc_escape(const char **end, const char **start, in |
|
if ((int)strspn(*start + 1, "0123456789ABCDEFabcdef") |
if ((int)strspn(*start + 1, "0123456789ABCDEFabcdef") |
+ 1 == *sz) |
+ 1 == *sz) |
gly = ESCAPE_UNICODE; |
gly = ESCAPE_UNICODE; |
|
break; |
|
case ESCAPE_DEVICE: |
|
assert(*sz == 2 && (*start)[0] == '.' && (*start)[1] == 'T'); |
break; |
break; |
default: |
default: |
break; |
break; |