<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>23118</bug_id>
          
          <creation_ts>2010-03-10 13:10:05 +0300</creation_ts>
          <short_desc>Неочевидный (или даже ошибочный) выбор словаря проверки орфографии</short_desc>
          <delta_ts>2010-03-17 11:27:33 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>openoffice.org-langpack-ru</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey Kurakin">kurakin</reporter>
          <assigned_to name="Nobody&apos;s working on this, feel free to take it">nobody</assigned_to>
          
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>107618</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey Kurakin">kurakin</who>
    <bug_when>2010-03-10 13:10:05 +0300</bug_when>
    <thetext>Кажется, моё предложение по переименованию файлов словарей (#23026) не привело к ожидаемому результату.

$ ls /usr/share/myspell | grep ru_RU
ru_RU.aff
ru_RU.dic
ru_RU-ie.aff
ru_RU-ie.dic
ru_RU-lebedev.aff
ru_RU-lebedev.dic
ru_RU-lebedev-ie.aff
ru_RU-lebedev-ie.dic

$ alternatives-list | grep ru_RU    
/usr/share/myspell/ru_RU.aff points to /usr/share/myspell/ru_RU-lebedev.aff
/usr/share/myspell/ru_RU.dic points to /usr/share/myspell/ru_RU-lebedev.dic

Альтернатива &apos;ru_RU&apos; указывает на ru_RU-lebedev, а OOo использует ru_RU-lebedev-ie.

Уж и не знаю, чем руководствуется OOo при выборе словаря. Может, выбирает последний по алфавиту, может первый попавшийся по маске &quot;ru_RU*.dic&quot;, а может еще как...

Надо как-то заставить OOo смотреть в первую очередь на &apos;ru_RU.dic&apos;. И только при отсутствии &apos;ru_RU.dic&apos; можно включать &quot;искусственный интеллект&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107623</commentid>
    <comment_count>1</comment_count>
    <who name="Valery Inozemtsev">shrek</who>
    <bug_when>2010-03-10 15:05:58 +0300</bug_when>
    <thetext>в /usr/share/myspell смотрит не только ООо

$ apt-cache whatdepends libhunspell | sed -ne &apos;s|^\ \ \([A-Za-z0-9].*\)-[0-9].*|\1|p&apos; | sort | grep -v hunspell
goldendict
kde4sdk-lokalize
libenchant
openoffice.org
songbird
thunderbird
xulrunner-192-libs

все они ведут себя примерно одинаково
единственное предложение - класть словари в /usr/share/hunspell-ru, а альтернативы закидывать в /usr/share/myspell</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107780</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey Kurakin">kurakin</who>
    <bug_when>2010-03-14 11:06:26 +0300</bug_when>
    <thetext>(In reply to comment #1)
&gt; все они ведут себя примерно одинаково

thunderbird выбирает именно ru_RU.dic из всего множества русских словарей.
OOo выбирает первый попавшийся для каждого языка, это даже помечено в комментариях в коде.
Про остальных ничего скажу, поскольку не пользуюсь.

&gt; единственное предложение - класть словари в /usr/share/hunspell-ru, а
&gt; альтернативы закидывать в /usr/share/myspell

Это было бы самым простым и надежным решением. Но оно сломает ручной выбор нужного словаря в тех приложениях, которые это умеют. Проще говоря, перестанет работать, например, вот такое:

$ echo слово | hunspell -d ru_RU-ie -

Поэтому хочу предложить простенький патч OOo, реализующий поиск системного словаря в два прохода. На первом проходе принимаются только словари, имеющие не более двух букв в &quot;регионе&quot; (&quot;регион&quot; -- это фрагмент названия файла между &quot;_&quot; и &quot;.dic&quot;). На втором проходе принимаются любые словари. Поскольку OOo сейчас поддерживает не более одного словаря на язык, всё работает как мне надо -- для русского первым принимается ru_RU.dic (альтернатива), а если его вдруг не окажется, то первый попавшийся из ru_*.dic.

OOo с этим патчем собирается и работает как следует, проверил. Но вы все-таки посмотрите на него пристально опытным взглядом.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107781</commentid>
    <comment_count>3</comment_count>
      <attachid>4305</attachid>
    <who name="Sergey Kurakin">kurakin</who>
    <bug_when>2010-03-14 11:09:57 +0300</bug_when>
    <thetext>Created attachment 4305
Реализует приоритет ru_RU.dic (альтернатива) перед остальными словарями</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107851</commentid>
    <comment_count>4</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2010-03-16 18:26:54 +0300</bug_when>
    <thetext>openoffice.org-3.2.0.8-alt2 -&gt; sisyphus:

* Mon Mar 15 2010 Valery Inozemtsev &lt;shrek@altlinux&gt; 3.2.0.8-alt2

- rebuild with icu 4.4
- appllied openoffice.org-3.2.0-alt-spelldict_select.patch (closes: #23118)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4305</attachid>
            <date>2010-03-14 11:09:57 +0300</date>
            <delta_ts>2010-03-14 11:09:57 +0300</delta_ts>
            <desc>Реализует приоритет ru_RU.dic (альтернатива) перед остальными словарями</desc>
            <filename>openoffice.org-3.2.0-alt-spelldict_select.patch</filename>
            <type>text/plain</type>
            <size>1135</size>
            <attacher name="Sergey Kurakin">kurakin</attacher>
            
              <data encoding="base64">ZGlmZiAtTmF1cmIgT09PMzIwX20xMi5vcmlnL2xpbmd1Y29tcG9uZW50L3NvdXJjZS9saW5ndXRp
bC9saW5ndXRpbC5jeHggT09PMzIwX20xMi9saW5ndWNvbXBvbmVudC9zb3VyY2UvbGluZ3V0aWwv
bGluZ3V0aWwuY3h4Ci0tLSBPT08zMjBfbTEyLm9yaWcvbGluZ3Vjb21wb25lbnQvc291cmNlL2xp
bmd1dGlsL2xpbmd1dGlsLmN4eAkyMDEwLTAyLTAyIDE0OjQ5OjQxLjAwMDAwMDAwMCArMDMwMAor
KysgT09PMzIwX20xMi9saW5ndWNvbXBvbmVudC9zb3VyY2UvbGluZ3V0aWwvbGluZ3V0aWwuY3h4
CTIwMTAtMDMtMTAgMjE6MTM6NTguMDAwMDAwMDAwICswMzAwCkBAIC0xNzMsNiArMTczLDggQEAK
ICAgIHsKICAgICAgICBvc2w6OkRpcmVjdG9yeUl0ZW0gYUl0ZW07CiAgICAgICAgb3NsOjpGaWxl
U3RhdHVzIGFGaWxlU3RhdHVzKEZpbGVTdGF0dXNNYXNrX0ZpbGVVUkwpOworCisgICAgICAgZm9y
IChzYWxfSW50MzIgblBhc3MgPSAwOyBuUGFzcyA8IDI7IG5QYXNzKyspIHsKICAgICAgICB3aGls
ZSAoYVN5c3RlbURpY3RzLmdldE5leHRJdGVtKGFJdGVtKSA9PSBvc2w6OkZpbGVCYXNlOjpFX05v
bmUpCiAgICAgICAgewogICAgICAgICAgICBhSXRlbS5nZXRGaWxlU3RhdHVzKGFGaWxlU3RhdHVz
KTsKQEAgLTE5MSw2ICsxOTMsOSBAQAogICAgICAgICAgICAgICAgaWYgKG5JbmRleCAhPSAtMSkK
ICAgICAgICAgICAgICAgICAgICBzUmVnaW9uID0gc0NodW5rLmNvcHkoIG5JbmRleCwgc0NodW5r
LmdldExlbmd0aCgpIC0gbkluZGV4ICk7CiAKKyAgICAgICAgICAgICAgICAgICBpZiAoblBhc3Mg
PT0gMCAmJiBzUmVnaW9uLmdldExlbmd0aCgpID4gMikKKyAgICAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7CisKICAgICAgICAgICAgICAgIC8vIFRodXMgd2UgZmlyc3QgZ2V0IHRoZSBsYW5n
dWFnZSBvZiB0aGUgZGljdGlvbmFyeQogICAgICAgICAgICAgICAgTGFuZ3VhZ2VUeXBlIG5MYW5n
ID0gTXNMYW5nSWQ6OmNvbnZlcnRJc29OYW1lc1RvTGFuZ3VhZ2UoCiAgICAgICAgICAgICAgICAg
ICBzTGFuZywgc1JlZ2lvbiApOwpAQCAtMjEyLDYgKzIxNyw3IEBACiAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgIH0KICAgICAgICB9CisgICAgICAgfQogICAgIH0KIAogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>