On Tue, Oct 16, 2001 at 11:36:18AM +0200, Jean-Marc Lasgouttes wrote:
> 
> Hello,
> 
> I think that a 1.1.6fix4 release _might_ be useful, especially since I
> backported the selection bugfix from 1.2.0 (could somebody confirm
> that it works?). Are there some other things that should go in
> 1.1.6fix4? Note that I am not implying that this fix version will
> actually exist. Let's see what we have to put in there first.
> 

Hello,

I have backported the patches to handle latin3, 4 and 9 to the 1.1.6 branch.
I'm sending the patch. It should not disturb much.

Adrien
Index: lib/kbd/iso8859-1.cdef
===================================================================
RCS file: /cvs/lyx/lyx-devel/lib/kbd/iso8859-1.cdef,v
retrieving revision 1.5
diff -u -r1.5 iso8859-1.cdef
--- lib/kbd/iso8859-1.cdef      2000/02/17 19:58:57     1.5
+++ lib/kbd/iso8859-1.cdef      2001/10/22 15:59:37
@@ -6,44 +6,44 @@
 # Any takers to complete the stuff?
 #
 
-160    "\nobreakspace"
-161    "\textexclamdown"
-#162   "\textcent"
+160    "\nobreakspace{}"
+161    "\textexclamdown{}"
+162    "\textcent{}"   # with package "eurofont"
 163    "\pounds{}"     # pound sign
-#164   "\textcurrency"
-#165   "\textyen"
-#166   "\textbrokenbar"
+164    "\textcurrency{}"       # with package "eurofont"
+165    "\textyen{}"    # with package "eurofont"
+166    "\textbrokenbar{}"      # with package "eurofont"
 167    "\S{}"          # paragraph
 168    "\"{}"  # umlaut
 169    "\copyright{}"
-170    "\textordfeminine"
+170    "\textordfeminine{}"
 171    "\guillemotleft{}"
 172    "$\lnot$"
 173    "\-{}"
-174    "\textregistered"
+174    "\textregistered{}"
 175    "\={}"
-176    "\textdegree"   # circle
+176    "\textdegree{}" # circle
 177    "$\pm$"
-178    "$\mathtwosuperios$"
+178    "$\mathtwosuperior$"
 179    "$\maththreesuperior$"
 180    "\'{}"  # acute
 181    "$\mu$" # micro
 182    "\P{}"
-183    "$\cdot$"
+183    "$\cdot$" # or \textperiodcentered
 184    "\c{}"  # cedilla
 185    "$\mathonesuperior$"
-186    "\textordmasculine"
+186    "\textordmasculine{}"
 187    "\guillemotright{}"
-188    "\textonequarter"
-189    "\textonehalf"
-190    "\textthreequarters"            # "0BE
-191    "\textquestiondown"             # mirrored ?
+188    "\textonequarter{}"
+189    "\textonehalf{}"
+190    "\textthreequarters{}"            # "0BE
+191    "\textquestiondown{}"           # mirrored ?
 192    "\`{A}"
 193    "\'{A}"
 194    "\^{A}"
 195    "\~{A}"
 196    "\"{A}"
-197    "\AA{}"         # A with circle
+197    "\r{A}"         # A with circle
 198    "\AE{}"         # AE cat'ed together
 199    "\c{C}"         # C cedilla
 200    "\`{E}"
@@ -75,7 +75,7 @@
 226    "\^{a}"
 227    "\~{a}"
 228    "\"{a}"
-229    "\aa{}"         # a with circle
+229    "\r{a}"         # a with circle
 230    "\ae{}"
 231    "\c{c}"         # c cedilla
 232    "\`{e}"
Index: src/lyxrc.C
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/lyxrc.C,v
retrieving revision 1.78.2.3
diff -u -r1.78.2.3 lyxrc.C
--- src/lyxrc.C 2001/05/14 16:44:10     1.78.2.3
+++ src/lyxrc.C 2001/10/22 15:59:41
@@ -1626,10 +1626,16 @@
                font_norm_type = ISO_10646_1;
        else if (font_norm == "iso8859-1")
                font_norm_type = ISO_8859_1;
+       else if (font_norm == "iso8859-3")
+               font_norm_type = ISO_8859_3;
+       else if (font_norm == "iso8859-4")
+               font_norm_type = ISO_8859_4;
        else if (font_norm == "iso8859-6.8x")
                font_norm_type = ISO_8859_6_8;
        else if (font_norm == "iso8859-9")
                font_norm_type = ISO_8859_9;
+       else if (font_norm == "iso8859-15")
+               font_norm_type = ISO_8859_15;
        else
                font_norm_type = OTHER_ENCODING;
 }
Index: src/lyxrc.h
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/lyxrc.h,v
retrieving revision 1.43.2.1
diff -u -r1.43.2.1 lyxrc.h
--- src/lyxrc.h 2001/05/14 16:44:10     1.43.2.1
+++ src/lyxrc.h 2001/10/22 15:59:42
@@ -249,9 +249,15 @@
                ///
                ISO_8859_1,
                ///
+               ISO_8859_3,
+               ///
+               ISO_8859_4,
+               ///
                ISO_8859_6_8,
                ///
                ISO_8859_9,
+               ///
+               ISO_8859_15,
                ///
                OTHER_ENCODING
        };
Index: src/paragraph.C
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/paragraph.C,v
retrieving revision 1.118.2.7
diff -u -r1.118.2.7 paragraph.C
--- src/paragraph.C     2001/09/30 22:46:56     1.118.2.7
+++ src/paragraph.C     2001/10/22 15:59:48
@@ -2950,10 +2950,13 @@
                        case '°': case '±': case '²': case '³':  
                        case '×': case '÷': case '¹': case 'ª':
                        case 'º': case '¬': case 'µ':
-                               if (bparams.inputenc == "latin1" ||
+                               if ((bparams.inputenc == "latin1" ||
+                                    bparams.inputenc == "latin9") ||
                                    (bparams.inputenc == "auto" &&
-                                    font.language()->encoding()->LatexName()
-                                    == "latin1")) {
+                                    (font.language()->encoding()->LatexName()
+                                     == "latin1" ||
+                                     font.language()->encoding()->LatexName()
+                                     == "latin9"))) {
                                        os << "\\ensuremath{"
                                           << c
                                           << '}';
Index: src/frontends/xforms/FormDocument.C
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/frontends/xforms/FormDocument.C,v
retrieving revision 1.35
diff -u -r1.35 FormDocument.C
--- src/frontends/xforms/FormDocument.C 2001/01/09 20:17:06     1.35
+++ src/frontends/xforms/FormDocument.C 2001/10/22 15:59:51
@@ -210,8 +210,8 @@
     // the document language form
     language_ = build_doc_language();
     fl_addto_choice(language_->choice_inputenc,
-                   "default|auto|latin1|latin2|latin5"
-                   "|koi8-r|koi8-u|cp866|cp1251|iso88595");
+                   "default|auto|latin1|latin2|latin3|latin4|latin5"
+                   "|latin9|koi8-r|koi8-u|cp866|cp1251|iso88595");
 
     // The language is a combo-box and has to be inserted manually
     obj = language_->choice_language;
Index: src/insets/insetquotes.C
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/insets/insetquotes.C,v
retrieving revision 1.40.2.3
diff -u -r1.40.2.3 insetquotes.C
--- src/insets/insetquotes.C    2001/09/12 16:43:36     1.40.2.3
+++ src/insets/insetquotes.C    2001/10/22 15:59:52
@@ -139,19 +139,39 @@
 }
 
 
-string const InsetQuotes::DispString() const
+string const InsetQuotes::DispString(Language const * loclang) const
 {
        string disp;
        disp += quote_char[quote_index[side][language]];
        if (times == InsetQuotes::DoubleQ)
                disp += disp;
 
-       if (lyxrc.font_norm_type == LyXRC::ISO_8859_1)
+       if (lyxrc.font_norm_type == LyXRC::ISO_8859_1
+           || lyxrc.font_norm_type == LyXRC::ISO_8859_3
+           || lyxrc.font_norm_type == LyXRC::ISO_8859_4
+           || lyxrc.font_norm_type == LyXRC::ISO_8859_9) {
+               if (disp == "'")
+                       disp = "´";
+               else if (disp == "''")
+                       disp = "´´";
+       }
+       if (lyxrc.font_norm_type == LyXRC::ISO_8859_1
+           || lyxrc.font_norm_type == LyXRC::ISO_8859_9
+           || lyxrc.font_norm_type == LyXRC::ISO_8859_15) {
                if (disp == "<<")
                        disp = '«';
                else if (disp == ">>")
                        disp = '»';
-       
+       }
+
+       // in french, spaces are added inside double quotes
+       if (times == InsetQuotes::DoubleQ && prefixIs(loclang->code(), "fr")) {
+               if (side == InsetQuotes::LeftQ)
+                       disp += " ";
+               else
+                       disp = " " + disp;
+       }
+
        return disp;
 }
 
@@ -170,7 +190,7 @@
 
 int InsetQuotes::width(BufferView *, LyXFont const & font) const
 {
-       string text = DispString();
+       string text = DispString(font.language());
        int w = 0;
 
        for (string::size_type i = 0; i < text.length(); ++i) {
@@ -198,7 +218,7 @@
 void InsetQuotes::draw(BufferView * bv, LyXFont const & font,
                       int baseline, float & x, bool) const
 {
-       string text = DispString();
+       string text = DispString(font.language());
 
        bv->painter().text(int(x), baseline, text, font);
        x += width(bv, font);
Index: src/insets/insetquotes.h
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/insets/insetquotes.h,v
retrieving revision 1.29
diff -u -r1.29 insetquotes.h
--- src/insets/insetquotes.h    2000/10/10 11:50:42     1.29
+++ src/insets/insetquotes.h    2001/10/22 15:59:52
@@ -115,7 +115,7 @@
        ///
        void ParseString(string const &);
        ///
-       string const DispString() const;
+       string const DispString(Language const *) const;
 };
 #endif
 
# Character definition file for iso8859-3 character set
#
# File modified (c)2001 by Adrien Rebollo from :
#
# Character definition file for iso8859-1 character set
#
# (c)1996 by Ivan Schreter, [EMAIL PROTECTED]
#
# Any takers to complete the stuff?
#

160     "\nobreakspace{}"
#161    "\textexclamdown{}"
161     "\textmalteseH{}"
#162    "\textcent{}"   # with package "eurofont"
162     "\u{}"
163     "\pounds{}"     # pound sign
164     "\textcurrency{}"       # with package "eurofont"
#165    "\textyen{}"    # with package "eurofont"
#166    "\textbrokenbar{}"      # with package "eurofont"
166     "\^{H}"
167     "\S{}"          # paragraph
168     "\"{}"  # umlaut
#169    "\copyright{}"
169     "\.{I}"
#170    "\textordfeminine{}"
170     "\c{S}"
#171    "\guillemotleft{}"
171     "\u{G}"
#172    "$\lnot$"
172     "\^{J}"
173     "\-{}"
#174    "\textregistered{}"
#175    "\={}"
175     "\.{Z}"
176     "\textdegree{}" # circle
#177    "$\pm$"
177     "\textmalteseh{}"
178     "$\mathtwosuperior$"
179     "$\maththreesuperior$"
180     "\'{}"  # acute
181     "$\mu$" # micro
#182    "\P{}"
182     "\^{h}"
183     "$\cdot$" # or \textperiodcentered
184     "\c{}"  # cedilla
#185    "$\mathonesuperior$"
185     "\i{}"
#186    "\textordmasculine{}"
186     "\c{s}"
#187    "\guillemotright{}"
187     "\u{g}"
#188    "\textonequarter{}"
188     "\^{j}"
189     "\textonehalf{}"
#190    "\textthreequarters{}"            # "0BE
#191    "\textquestiondown{}"           # mirrored ?
191     "\.{z}"
192     "\`{A}"
193     "\'{A}"
194     "\^{A}"
#195    "\~{A}"
196     "\"{A}"
#197    "\r{A}"         # A with circle
197     "\.{C}"         # A with circle
#198    "\AE{}"         # AE cat'ed together
198     "\^{C}"         # AE cat'ed together
199     "\c{C}"         # C cedilla
200     "\`{E}"
201     "\'{E}"
202     "\^{E}"
203     "\"{E}"
204     "\`{I}"
205     "\'{I}"
206     "\^{I}"
207     "\"{I}"
#208    "\DH{}"
209     "\~{N}"
210     "\`{O}"
211     "\'{O}"
212     "\^{O}"
#213    "\~{O}"
213     "\.{G}"
214     "\"{O}"
215     "$\times$"
#216    "\O{}"
216     "\^{G}"
217     "\`{U}"
218     "\'{U}"
219     "\^{U}"
220     "\"{U}"
#221    "\'{Y}"
221     "\u{U}"
#222    "\TH{}"
222     "\^{S}"
223     "\ss{}"         # German sharp S
224     "\`{a}"
225     "\'{a}"
226     "\^{a}"
#227    "\~{a}"
228     "\"{a}"
#229    "\r{a}"         # a with circle
229     "\.{c}"
#230    "\ae{}"
230     "\^{c}"
231     "\c{c}"         # c cedilla
232     "\`{e}"
233     "\'{e}"
234     "\^{e}"
235     "\"{e}"
236     "\`{\i}"
237     "\'{\i}"
238     "\^{\i}"
239     "\"{\i}"
#240    "\dh{}" 
241     "\~{n}"
242     "\`{o}"
243     "\'{o}"
244     "\^{o}"
#245    "\~{o}"
245     "\.{g}"
246     "\"{o}"
247     "$\div$"
#248    "\o{}"
248     "\^{g}"
249     "\`{u}"
250     "\'{u}"
251     "\^{u}"
252     "\"{u}"
#253    "\'{y}"
253     "\u{u}"
#254    "\th{}"
254     "\^{s}"
#255    "\"{y}"
255     "\.{}"
# Character definition file for iso8859-4 character set
#
# File modified (c)2001 by Adrien Rebollo from :
#
# Character definition file for iso8859-1 character set
#
# (c)1996 by Ivan Schreter, [EMAIL PROTECTED]
#
# Any takers to complete the stuff?
#

160     "\nobreakspace{}"
#161    "\textexclamdown{}"
161     "\k{A}"
#162    "\textcent{}"   # with package "eurofont"
162     "\textkra{}"
#163    "\pounds{}"     # pound sign
163     "\c{R}"
164     "\textcurrency{}"       # with package "eurofont"
#165    "\textyen{}"    # with package "eurofont"
165     "\~{I}"
#166    "\textbrokenbar{}"      # with package "eurofont"
166     "\c{L}"
167     "\S{}"          # paragraph
168     "\"{}"  # umlaut
#169    "\copyright{}"
169     "\v{S}"
#170    "\textordfeminine{}"
170     "\={E}"
#171    "\guillemotleft{}"
171     "\c{G}"
#172    "$\lnot$"
172     "\textTstroke"
173     "\-{}"
#174    "\textregistered{}"
174     "\v{Z}"
175     "\={}"
176     "\textdegree{}" # circle
#177    "$\pm$"
177     "\k{a}"
#178    "$\mathtwosuperior$"
178     "\k{}"
#179    "$\maththreesuperior$"
179     "\c{r}"
180     "\'{}"  # acute
#181    "$\mu$"
181     "\~{i}"
#182    "\P{}"
182     "\c{l}"
#183    "$\cdot$"
183     "\v{}"
184     "\c{}"  # cedilla
#185    "$\mathonesuperior$"
185     "\v{s}"
#186    "\textordmasculine{}"
186     "\={e}"
#187    "\guillemotright{}"
187     "\c{g}"
#188    "\textonequarter{}"
188     "\texttstroke{}"
#189    "\textonehalf{}"
189     "\NG{}"
#190    "\textthreequarters{}"
190     "\v{z}"
#191    "\textquestiondown{}"
191     "\ng{}"
#192    "\`{A}"
192     "\={A}"
193     "\'{A}"
194     "\^{A}"
195     "\~{A}"
196     "\"{A}"
197     "\r{A}"         # A with circle
198     "\AE{}"         # AE cat'ed together
#199    "\c{C}"
199     "\k{I}"
#200    "\`{E}"
200     "\v{C}"
201     "\'{E}"
#202    "\^{E}"
202     "\k{E}"
203     "\"{E}"
#204    "\`{I}"
204     "\.{E}"
205     "\'{I}"
206     "\^{I}"
#207    "\"{I}"
207     "\={I}"
#208    "\DH{}"
208     "\DJ{}"
#209    "\~{N}"
209     "\c{N}"
#210    "\`{O}"
210     "\={O}"
#211    "\'{O}"
211     "\c{K}"
212     "\^{O}"
213     "\~{O}"
214     "\"{O}"
215     "$\times$"
216     "\O{}"
#217    "\`{U}"
217     "\k{U}"
218     "\'{U}"
219     "\^{U}"
220     "\"{U}"
#221    "\'{Y}"
221     "\~{U}"
#222    "\TH{}"
222     "\={U}"
223     "\ss{}"         # German sharp S
#224    "\`{a}"
224     "\={a}"
225     "\'{a}"
226     "\^{a}"
227     "\~{a}"
228     "\"{a}"
229     "\r{a}"         # a with circle
230     "\ae{}"
#231    "\c{c}"
231     "\k{i}"
#232    "\`{e}"
232     "\v{c}"
233     "\'{e}"
#234    "\^{e}"
234     "\k{e}"
235     "\"{e}"
#236    "\`{\i}"
236     "\.{\e}"
237     "\'{\i}"
238     "\^{\i}"
#239    "\"{\i}"
239     "\={\i}"
#240    "\dh{}" 
240     "\dj{}" 
#241    "\~{n}"
241     "\c{n}"
#242    "\`{o}"
242     "\={o}"
#243    "\'{o}"
243     "\c{k}"
244     "\^{o}"
245     "\~{o}"
246     "\"{o}"
247     "$\div$"
248     "\o{}"
#249    "\`{u}"
249     "\k{u}"
250     "\'{u}"
251     "\^{u}"
252     "\"{u}"
#253    "\'{y}"
253     "\~{u}"
#254    "\th{}"
254     "\={u}"
#255    "\"{y}"
255     "\.{}"
#
# Character definition file for iso8859-15 character set
# Modified (c)2001 by Adrien Rebollo, [EMAIL PROTECTED]
# From :
#
# "Character definition file for iso8859-1 character set"
#
# (c)1996 by Ivan Schreter, [EMAIL PROTECTED]
#
# Any takers to complete the stuff?
#

160     "\nobreakspace{}"
161     "\textexclamdown{}"
162     "\textcent{}"   # with package "eurofont"
163     "\pounds{}"     # pound sign
#164    "\textcurrency{}"       # with package "eurofont"
164     "\texteuro{}"   # with package "eurofont"
165     "\textyen{}"    # with package "eurofont"
#166    "\textbrokenbar{}"      # with package "eurofont"
166     "\v{S}"
167     "\S{}"          # paragraph
#168    "\"{}"  # umlaut
168     "\v{s}"
169     "\copyright{}"
170     "\textordfeminine{}"
171     "\guillemotleft{}"
172     "$\lnot$"
173     "\-{}"
174     "\textregistered{}"
175     "\={}"
176     "\textdegree{}" # circle
177     "$\pm$"
178     "$\mathtwosuperios$"
179     "$\maththreesuperior$"
#180    "\'{}"  # acute
180     "\v{Z}"
181     "$\mu$" # micro
182     "\P{}"
183     "$\cdot$" #{[ or \textperiodcentered
#184    "\c{}"  # cedilla # or "\c\ "
184     "\v{z}"
185     "$\mathonesuperior$"
186     "\textordmasculine{}"
187     "\guillemotright{}"
#188    "\textonequarter{}"
188     "\OE{}"
#189    "\textonehalf{}"
189     "\oe{}"
#190    "\textthreequarters{}"            # "0BE
190     "\"{Y}"
191     "\textquestiondown{}"           # mirrored ?
192     "\`{A}"
193     "\'{A}"
194     "\^{A}"
195     "\~{A}"
196     "\"{A}"
197     "\AA{}"         # A with circle # or "\r{A}"
198     "\AE{}"         # AE cat'ed together
199     "\c{C}"         # C cedilla
200     "\`{E}"
201     "\'{E}"
202     "\^{E}"
203     "\"{E}"
204     "\`{I}"
205     "\'{I}"
206     "\^{I}"
207     "\"{I}"
208     "\DH{}"
209     "\~{N}"
210     "\`{O}"
211     "\'{O}"
212     "\^{O}"
213     "\~{O}"
214     "\"{O}"
215     "$\times$"
216     "\O{}"
217     "\`{U}"
218     "\'{U}"
219     "\^{U}"
220     "\"{U}"
221     "\'{Y}"
222     "\TH{}"
223     "\ss{}"         # German sharp S
224     "\`{a}"
225     "\'{a}"
226     "\^{a}"
227     "\~{a}"
228     "\"{a}"
229     "\aa{}"         # a with circle # or "\r{a}"
230     "\ae{}"
231     "\c{c}"         # c cedilla
232     "\`{e}"
233     "\'{e}"
234     "\^{e}"
235     "\"{e}"
236     "\`{\i}"
237     "\'{\i}"
238     "\^{\i}"
239     "\"{\i}"
240     "\dh{}" 
241     "\~{n}"
242     "\`{o}"
243     "\'{o}"
244     "\^{o}"
245     "\~{o}"
246     "\"{o}"
247     "$\div$"
248     "\o{}"
249     "\`{u}"
250     "\'{u}"
251     "\^{u}"
252     "\"{u}"
253     "\'{y}"
254     "\th{}"
255     "\"{y}"

Reply via email to