Loading ...
Sorry, an error occurred while loading the content.

Re: Vim60ap patch: Athena & Motif "Menu" highlight group fix

Expand Messages
  • David Harrison
    ... I think you meant to say font sets , but Yes, I agree! The only reason I haven t done it yet is that I have little time at the moment. Add to that the
    Message 1 of 12 , Aug 1, 2001
    • 0 Attachment
      Martin Dalecki wrote:

      > David Harrison wrote:
      >
      >> Problem: Trying to set the "font" parameter of the "Menu" highlight
      >> group while the 'guifontset' option was set resulted in a crash, because
      >> the Menu highlight group only stores a single XFontStruct and NOT an
      >> XFontSet.
      >>
      >
      >
      > Hello David. Please note that since X11R4 or even earier
      > XFontSets are supposed to supercede single fonts!

      > So I think
      > that the most desirable way of fixing those
      > problems would be anyway to use *always* font structs.

      I think you meant to say "font sets", but Yes, I agree!

      The only reason I haven't done it yet is that I have little time at the
      moment. Add to that the fact that Vim 6.0 is now in BETA and I don't
      wish to create any more instability in the code base. It pretty much
      all keys on the 'guifontset' option; if it is set, then a font name is
      treated as a font set, otherwise a font struct. Last but not least, add
      to the fact that my RedHat 6.2 didn't seem to have extensive locale
      support (esp. Asian locales, which I think is the main reason for
      XFontSet), thus testing was difficult.

      No one has yet complained about the lack of FontSet support in the
      menus, so probably no real harm done.

      I AM going to fix this in 6.1.

      By the way, in the Athena version I DO treat all the tooltips as an
      XFontSet, which is my "test case".

      --David Harrison Jr.
    • David Harrison
      ... I have never had it working entirely. I suspect this has to do with the fact that Asian locales weren t supported very well under my version of Linux
      Message 2 of 12 , Aug 1, 2001
      • 0 Attachment
        Bram Moolenaar wrote:

        > David Harrison wrote:
        >
        >
        >> Problem: Trying to set the "font" parameter of the "Menu" highlight
        >> group while the 'guifontset' option was set resulted in a crash, because
        >> the Menu highlight group only stores a single XFontStruct and NOT an
        >> XFontSet.
        >>
        >> Solution: Force the "Menu" highlight group to always use a single font
        >> and not an XFontSet.
        >
        >
        > I suppose this means Asian languages cannot be used in the menus, unless set
        > from a resource file. That's disappointing, I thought this was currently
        > working.

        I have never had it working entirely. I suspect this has to do with the
        fact that Asian locales weren't supported very well under my version of
        Linux (RedHat 6.2).

        Maybe now that I have access to RedHat 7.1, this may change things.


        > I thought the plan was to use a fontset for everything. Thus make the choice
        > at compile time, not at runtime. Is that too difficult to implement now?

        No. It may just take some time (a month or two?) to work all of the
        tiny bugs out, that's all. For example, when you set the (what should
        be a) fontset for a menu, does it take the current locale as the locale
        to use, or should you be able to specify a specific locale to use? If
        it is the former, then that means that if you want to have the menu be
        in a different locale, you have to set the :language before you source
        menu.vim, and then set it back immediately afterwards.

        Can of worms?

        > I
        > thought that using the fontset was in place already.

        Only if you compile with EXPERIMENTAL #defined.

        Would you like for me to try something out shortly and send it in?

        --David Jr.
      • Martin Dalecki
        ... Well at least for non multibyte locales with a default font set differnt from iso8859-1 I can sort testing out for you quite easly ;-).
        Message 3 of 12 , Aug 1, 2001
        • 0 Attachment
          David Harrison wrote:
          >
          > Bram Moolenaar wrote:
          >
          > > David Harrison wrote:
          > >
          > >
          > >> Problem: Trying to set the "font" parameter of the "Menu" highlight
          > >> group while the 'guifontset' option was set resulted in a crash, because
          > >> the Menu highlight group only stores a single XFontStruct and NOT an
          > >> XFontSet.
          > >>
          > >> Solution: Force the "Menu" highlight group to always use a single font
          > >> and not an XFontSet.
          > >
          > >
          > > I suppose this means Asian languages cannot be used in the menus, unless set
          > > from a resource file. That's disappointing, I thought this was currently
          > > working.
          >
          > I have never had it working entirely. I suspect this has to do with the
          > fact that Asian locales weren't supported very well under my version of
          > Linux (RedHat 6.2).
          >
          > Maybe now that I have access to RedHat 7.1, this may change things.
          >
          > > I thought the plan was to use a fontset for everything. Thus make the choice
          > > at compile time, not at runtime. Is that too difficult to implement now?
          >
          > No. It may just take some time (a month or two?) to work all of the
          > tiny bugs out, that's all. For example, when you set the (what should
          > be a) fontset for a menu, does it take the current locale as the locale
          > to use, or should you be able to specify a specific locale to use? If
          > it is the former, then that means that if you want to have the menu be
          > in a different locale, you have to set the :language before you source
          > menu.vim, and then set it back immediately afterwards.

          Well at least for non multibyte locales with a default font set
          differnt from iso8859-1 I can sort testing out for you quite easly ;-).
        • David Harrison
          ... Thank you! ... and now for my Earth-shattering question: Is there a difference between using a single font and a font set for non-multibyte locales? If
          Message 4 of 12 , Aug 1, 2001
          • 0 Attachment
            Martin Dalecki wrote:

            > David Harrison wrote:
            >
            >> No. It may just take some time (a month or two?) to work all of the
            >> tiny bugs out, that's all. For example, when you set the (what should
            >> be a) fontset for a menu, does it take the current locale as the locale
            >> to use, or should you be able to specify a specific locale to use? If
            >> it is the former, then that means that if you want to have the menu be
            >> in a different locale, you have to set the :language before you source
            >> menu.vim, and then set it back immediately afterwards.
            >
            >
            > Well at least for non multibyte locales with a default font set
            > differnt from iso8859-1 I can sort testing out for you quite easly ;-).

            Thank you!
            ... and now for my Earth-shattering question: Is there a difference
            between using a single font and a font set for non-multibyte locales?

            If no, then using a single font should be okay for Vim 6.0. :-)

            Any mulibyte users out there need to speak up if they desire their menus
            to be in their preferred locale!

            --David Harrison Jr.
          • Bram Moolenaar
            ... We both aim for stability and to fix all problems. In this case we might attempt to fix the problem, unless we can t do that in a couple of weeks (so that
            Message 5 of 12 , Aug 1, 2001
            • 0 Attachment
              David Harrison wrote:

              > The only reason I haven't done it yet is that I have little time at the
              > moment. Add to that the fact that Vim 6.0 is now in BETA and I don't
              > wish to create any more instability in the code base.

              We both aim for stability and to fix all problems. In this case we might
              attempt to fix the problem, unless we can't do that in a couple of weeks (so
              that there is still time to test the result).

              > It pretty much all keys on the 'guifontset' option; if it is set, then a
              > font name is treated as a font set, otherwise a font struct.

              We could change that. In fact, I never liked it. It was a result of adding
              fontset support without the courage to change the existing fonts. The main
              difference that will remain is that 'guifont' is a list of alternate fonts,
              while 'guifontset' is a list of fonts to be used together. But we can drop
              the use of this to use a fontset internally or not. We might have been
              causing ourselves trouble by keeping the support for the fontstruct.

              Another thing is wheter we want to do it the same way for Athena and Motif.
              But I thought that fontset support is in the generic library, thus they could
              both be the same, right?

              > Last but not least, add to the fact that my RedHat 6.2 didn't seem to have
              > extensive locale support (esp. Asian locales, which I think is the main
              > reason for XFontSet), thus testing was difficult.

              Getting a good setup to do testing might indeed be difficult. But with a bit
              of help from our friends we should manage...

              > No one has yet complained about the lack of FontSet support in the
              > menus, so probably no real harm done.

              I did get a few requests for it. Don't forget that the people that would like
              to use this, often have trouble writing English, thus tend to keep their mouth
              shut.

              > I AM going to fix this in 6.1.
              >
              > By the way, in the Athena version I DO treat all the tooltips as an
              > XFontSet, which is my "test case".

              It almost looks like we have all the stuff in place to make the switch, or is
              there still some place where using a fontset will require adding new code?

              > [next message]
              >
              > > I thought the plan was to use a fontset for everything. Thus make the
              > > choice at compile time, not at runtime. Is that too difficult to
              > > implement now?
              >
              > No. It may just take some time (a month or two?) to work all of the
              > tiny bugs out, that's all. For example, when you set the (what should
              > be a) fontset for a menu, does it take the current locale as the locale
              > to use, or should you be able to specify a specific locale to use? If
              > it is the former, then that means that if you want to have the menu be
              > in a different locale, you have to set the :language before you source
              > menu.vim, and then set it back immediately afterwards.

              By default the current locale should be used. That's how it has always
              worked. If possible, we would like to allow setting the encoding with ":lang"
              and the 'encoding' option, and make the menus work with that. But restricting
              this to have it only work when Vim is starting up isn't too bad.

              > Can of worms?

              If that's true we better leave it alone.

              > > I thought that using the fontset was in place already.
              >
              > Only if you compile with EXPERIMENTAL #defined.
              >
              > Would you like for me to try something out shortly and send it in?

              Perhaps what we can do is use a FONTSET_ALWAYS define to add the code for
              this. At first to see if we run into trouble when implementing it. Then we
              can enable it by default to let people test it. When we run into too much
              trouble we can undefine it to fall back to the old code. Does that sound
              reasonable?

              --
              From "know your smileys":
              :-| :-| Deja' vu!

              /// Bram Moolenaar -- Bram@... -- http://www.moolenaar.net \\\
              ((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim )))
              \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
            • Martin Dalecki
              ... Right. I agree fully. And then please take note as well that the documentation about what to use how is indeed very confusing. At least it was to me last
              Message 6 of 12 , Aug 1, 2001
              • 0 Attachment
                Bram Moolenaar wrote:

                > > It pretty much all keys on the 'guifontset' option; if it is set, then a
                > > font name is treated as a font set, otherwise a font struct.
                >
                > We could change that. In fact, I never liked it. It was a result of adding
                > fontset support without the courage to change the existing fonts. The main
                > difference that will remain is that 'guifont' is a list of alternate fonts,
                > while 'guifontset' is a list of fonts to be used together. But we can drop
                > the use of this to use a fontset internally or not. We might have been
                > causing ourselves trouble by keeping the support for the fontstruct.

                Right. I agree fully. And then please take note as well that the
                documentation about what to use how is indeed very confusing. At least
                it
                was to me last time I looked at 5.7 times.

                > Another thing is wheter we want to do it the same way for Athena and Motif.
                > But I thought that fontset support is in the generic library, thus they could
                > both be the same, right?

                Yes they are completely identical if you disrespect the Motif font-list
                stuff,
                which got introduced into Motif a very long time ago to circumvent
                fontstruct
                problems. This was done there at times where X11 didn't support font
                sets.
                But as I have already stated it this is really really a very long time
                ago.

                > > Last but not least, add to the fact that my RedHat 6.2 didn't seem to have
                > > extensive locale support (esp. Asian locales, which I think is the main
                > > reason for XFontSet), thus testing was difficult.
                >
                > Getting a good setup to do testing might indeed be difficult. But with a bit
                > of help from our friends we should manage...

                Hah! Even I managed once to get a proper tawanses input method setup.
                You will have to look at some of the asian linux variants to get it
                right.
                (Or just look at redhat-7.1-jp RPM's)

                > Perhaps what we can do is use a FONTSET_ALWAYS define to add the code for
                > this. At first to see if we run into trouble when implementing it. Then we
                > can enable it by default to let people test it. When we run into too much
                > trouble we can undefine it to fall back to the old code. Does that sound
                > reasonable?

                Perhaps we make just a test ballon beta version with the code removed.
                (It's a matter of patch -r to readd this stuff) and leave it that way
                if nobody complains - I would suggest.
              • David Harrison
                ... Yes. I ll use an XFontSet type (from the X11 library). For Motif, I ll just create an XmFontList from that, while for Athena there would be nothing
                Message 7 of 12 , Aug 1, 2001
                • 0 Attachment
                  Bram Moolenaar wrote:

                  > David Harrison wrote:

                  >
                  > Another thing is wheter we want to do it the same way for Athena and Motif.
                  > But I thought that fontset support is in the generic library, thus they could
                  > both be the same, right?


                  Yes. I'll use an "XFontSet" type (from the X11 library). For Motif,
                  I'll just create an XmFontList from that, while for Athena there would
                  be nothing else to do.



                  >>No one has yet complained about the lack of FontSet support in the
                  >>menus, so probably no real harm done.
                  >>
                  >
                  > I did get a few requests for it. Don't forget that the people that would like
                  > to use this, often have trouble writing English, thus tend to keep their mouth
                  > shut.


                  *speaking to a large group of people* ... if anyone doesn't understand
                  English, please raise your hand. *pauses and notes no raised hands*
                  Good! Then everyone speaks English. ;-)



                  > It almost looks like we have all the stuff in place to make the switch, or is
                  > there still some place where using a fontset will require adding new code?


                  Only minor bits will be added, I think.

                  >
                  > By default the current locale should be used. That's how it has always
                  > worked. If possible, we would like to allow setting the encoding with ":lang"
                  > and the 'encoding' option, and make the menus work with that. But restricting
                  > this to have it only work when Vim is starting up isn't too bad.


                  I'll take the first step and we'll go from there...


                  > Perhaps what we can do is use a FONTSET_ALWAYS define to add the code for
                  > this. At first to see if we run into trouble when implementing it. Then we
                  > can enable it by default to let people test it. When we run into too much
                  > trouble we can undefine it to fall back to the old code. Does that sound
                  > reasonable?


                  That sounds very reasonable. I have direction now.

                  Thank you,
                  David Harrison Jr.
                Your message has been successfully submitted and would be delivered to recipients shortly.