diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/font.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/font.c b/src/font.c index 8cd3896b045..81a4914ba79 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -537,14 +537,19 @@ font_prop_validate_spacing (prop, val) | |||
| 537 | { | 537 | { |
| 538 | if (NILP (val) || (NATNUMP (val) && XINT (val) <= FONT_SPACING_CHARCELL)) | 538 | if (NILP (val) || (NATNUMP (val) && XINT (val) <= FONT_SPACING_CHARCELL)) |
| 539 | return val; | 539 | return val; |
| 540 | if (EQ (val, Qc)) | 540 | if (SYMBOLP (val) && SBYTES (SYMBOL_NAME (val)) == 1) |
| 541 | return make_number (FONT_SPACING_CHARCELL); | 541 | { |
| 542 | if (EQ (val, Qm)) | 542 | char spacing = SDATA (SYMBOL_NAME (val))[0]; |
| 543 | return make_number (FONT_SPACING_MONO); | 543 | |
| 544 | if (EQ (val, Qp)) | 544 | if (spacing == 'c' || spacing == 'C') |
| 545 | return make_number (FONT_SPACING_PROPORTIONAL); | 545 | return make_number (FONT_SPACING_CHARCELL); |
| 546 | if (EQ (val, Qd)) | 546 | if (spacing == 'm' || spacing == 'M') |
| 547 | return make_number (FONT_SPACING_DUAL); | 547 | return make_number (FONT_SPACING_MONO); |
| 548 | if (spacing == 'P' || spacing == 'P') | ||
| 549 | return make_number (FONT_SPACING_PROPORTIONAL); | ||
| 550 | if (spacing == 'd' || spacing == 'D') | ||
| 551 | return make_number (FONT_SPACING_DUAL); | ||
| 552 | } | ||
| 548 | return Qerror; | 553 | return Qerror; |
| 549 | } | 554 | } |
| 550 | 555 | ||