summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog28
-rw-r--r--font/devcp1047/R.proto2
-rw-r--r--font/devlatin1/R.proto2
-rw-r--r--src/libs/libgroff/glyphuni.cpp3
-rw-r--r--src/libs/libgroff/uniglyph.cpp5
-rw-r--r--src/preproc/preconv/preconv.cpp12
-rw-r--r--tmac/html.tmac2
7 files changed, 40 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 10fb98ea..3a41c083 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,25 @@
+2006-02-22 Werner LEMBERG <wl@gnu.org>
+
+ Remove all remaining traces from the `shc' glyph.
+
+ * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
+ src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
+ entry for `shc'.
+
+ * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
+ entry with unnamed glyph.
+
+ * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
+
+ * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
+ specially.
+
2006-02-22 Bruno Haible <bruno@clisp.org>
- Concretize the glyph datatype.
+ Concretize the `glyph' datatype.
- * src/include/font.h (struct glyph): Remove class.
- (struct glyph): Renamed from struct glyphinfo.
+ * src/include/font.h (glyph): Remove class.
+ (glyph): Renamed from struct `glyphinfo'.
(glyph_to_index): New inline function.
(glyph_to_name): Make extern, not inline.
(glyph_to_number): Update.
@@ -80,8 +96,8 @@
2006-02-15 Bruno Haible <bruno@clisp.org>
- * src/include/font.h (struct glyphinfo): New class.
- (struct glyph): Change internal representation.
+ * src/include/font.h (glyphinfo): New class.
+ (glyph): Change internal representation.
Change constructor signature.
New method glyph::glyph_number().
(glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
@@ -176,7 +192,7 @@
font::copy_entry, font::add_kern, font::hash_kern): Change argument
type to glyph_t.
- * src/libs/libgroff/font.cpp (struct font_kern_list): Change members
+ * src/libs/libgroff/font.cpp (font_kern_list): Change members
type and constructor argument types to glyph_t.
(font::contains, font::get_width, font::get_height, font::get_depth,
font::get_character_type, font::get_kern, font::get_skew,
diff --git a/font/devcp1047/R.proto b/font/devcp1047/R.proto
index 866ad87d..a1103dbf 100644
--- a/font/devcp1047/R.proto
+++ b/font/devcp1047/R.proto
@@ -253,7 +253,7 @@ H 24 0 0310
*Y "
I 24 0 0311
*I "
-shc 24 0 0312
+--- 24 0 0312
^o 24 0 0313
:o 24 0 0314
`o 24 0 0315
diff --git a/font/devlatin1/R.proto b/font/devlatin1/R.proto
index 92e76056..ff333563 100644
--- a/font/devlatin1/R.proto
+++ b/font/devlatin1/R.proto
@@ -231,7 +231,7 @@ Of 24 0 0252
Fo 24 0 0253
no 24 0 0254
tno "
-shc 24 0 0255
+--- 24 0 0255
rg 24 0 0256
a- 24 0 0257
de 24 0 0260
diff --git a/src/libs/libgroff/glyphuni.cpp b/src/libs/libgroff/glyphuni.cpp
index bf4a2a73..8cff29de 100644
--- a/src/libs/libgroff/glyphuni.cpp
+++ b/src/libs/libgroff/glyphuni.cpp
@@ -173,7 +173,8 @@ struct S {
{ "Fo", "00AB" },
{ "no", "00AC" },
{ "tno", "00AC" },
- { "shc", "00AD" },
+// The soft hypen U+00AD is meaningful only in the input file,
+// not in the output.
{ "rg", "00AE" },
{ "a-", "00AF" },
{ "de", "00B0" },
diff --git a/src/libs/libgroff/uniglyph.cpp b/src/libs/libgroff/uniglyph.cpp
index ab6f531e..cd80d89a 100644
--- a/src/libs/libgroff/uniglyph.cpp
+++ b/src/libs/libgroff/uniglyph.cpp
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 2002, 2003, 2004
+/* Copyright (C) 2002, 2003, 2004, 2006
Free Software Foundation, Inc.
Written by Werner Lemberg <wl@gnu.org>
@@ -231,7 +231,8 @@ struct S {
{ "00AB", "Fo" },
{ "00AC", "no" },
//{ "00AC", "tno" },
- { "00AD", "shc" },
+ // In groff, U+00AD is an input character only; it is not mapped to
+ // a glyph but to `\%'.
{ "00AE", "rg" },
{ "00AF", "a-" },
{ "00B0", "de" },
diff --git a/src/preproc/preconv/preconv.cpp b/src/preproc/preconv/preconv.cpp
index 25de2233..d8498200 100644
--- a/src/preproc/preconv/preconv.cpp
+++ b/src/preproc/preconv/preconv.cpp
@@ -397,8 +397,16 @@ unicode_entity(int u)
{
if (u < 0x80)
putchar(u);
- else
- printf("\\[u%04X]", u);
+ else {
+ // Handle soft hyphen specially -- it is an input character only,
+ // not a glyph.
+ if (u == 0xAD) {
+ putchar('\\');
+ putchar('%');
+ }
+ else
+ printf("\\[u%04X]", u);
+ }
}
// ---------------------------------------------------------
diff --git a/tmac/html.tmac b/tmac/html.tmac
index 9289f82e..cd264465 100644
--- a/tmac/html.tmac
+++ b/tmac/html.tmac
@@ -32,7 +32,7 @@
..
.
.\" avoid line breaks after hyphen-like characters.
-.cflags 0 -\[hy]\[em]\[en]\[shc]
+.cflags 0 -\[hy]\[em]\[en]
.
.\" Now set any characters defined in devps/S but not in devhtml to nul --
.\" these are generated by eqn but not used by grohtml. grops generated