Thread View: pl.comp.lang.c
5 messages
5 total messages
Started by Borneq
Tue, 12 Mar 2019 22:25
Słownik do edytora
Author: Borneq
Date: Tue, 12 Mar 2019 22:25
Date: Tue, 12 Mar 2019 22:25
4 lines
1048 bytes
1048 bytes
Szyk Cech kiedyś wspominał że jest komponent słownika do edytora Qt. Jaki to komponent? Czy można użyć plików tekstowych od Firefoxa/Thunderbirda a może Open/Libre Office'a, najlepiej aby nie duplikować tych plików?
Re: Słownik do edytora
Author: Szyk Cech
Date: Wed, 13 Mar 2019 10:47
Date: Wed, 13 Mar 2019 10:47
11 lines
1600 bytes
1600 bytes
W dniu 12.03.2019 o 23:25, Borneq pisze: > Szyk Cech kiedyś wspominał że jest komponent słownika do edytora Qt. > Jaki to komponent? Czy można użyć plików tekstowych od > Firefoxa/Thunderbirda a może Open/Libre Office'a, najlepiej aby nie > duplikować tych plików? 1. Używam Hunspell ona nie należy do Qt. 2. Obsługę tego musisz zrobić samodzielnie podczepiając się do sygnału zmiany zawartości edytora i wyrażeniem regularnym wyciągasz aktualne słowo. 3. Pliki słownika mogą być z Firefoxa. 4. O ich wielkość nie martw się, bo są one małe.
Re: Słownik do edytora
Author: Borneq
Date: Wed, 13 Mar 2019 13:16
Date: Wed, 13 Mar 2019 13:16
13 lines
1450 bytes
1450 bytes
W dniu 13.03.2019 o 11:47, Szyk Cech pisze:> 1. Używam Hunspell ona nie należy do Qt. > 2. Obsługę tego musisz zrobić samodzielnie podczepiając się do sygnału > zmiany zawartości edytora i wyrażeniem regularnym wyciągasz aktualne słowo. > 3. Pliki słownika mogą być z Firefoxa. > 4. O ich wielkość nie martw się, bo są one małe. Znalazłem https://github.com/hunspell/hunspell https://github.com/nuspell/nuspell pierwsza wygląda na bardziej rozbudowaną, druga może bardziej pasować do programów z Qt?
Re: Słownik do edytora
Author: Szyk Cech
Date: Wed, 13 Mar 2019 15:25
Date: Wed, 13 Mar 2019 15:25
131 lines
5196 bytes
5196 bytes
> https://github.com/hunspell/hunspell
> https://github.com/nuspell/nuspell
Tego nie znam, ale na tej stronie pisze:
"Nuspell is a pure C++ reimplementation of Hunspell."
> pierwsza wygląda na bardziej rozbudowaną, druga może bardziej pasować do
> programów z Qt?
Trochę się chyba zagalopowałeś... Qt jest biblioteką napisaną w C++. Tak
więc wszystkie biblioteki w C, C++ i w Asemblerze są równie dobre.
Zwłaszcza, że najwyraźniej Nuspell nie ma żadnych usprawnień
algorytmicznych. Choć może działać szybciej z uwagi na wydajniejsze
struktury i wydajniejszą implementację w sensie takich spraw jak
standardowe kontenery, funkcje inline, szablony i inne triki
poprawiające wydajność C++.
Może trochę Ci podpowiem jak włączać biblioteki zewnętrzne do projektu Qt:
1. Ja utworzyłem specjalny plik projektu Qt dla Hunspell - jego
zasadniczą część wygenerowałem skryptem:
http://szyk.jcom.pl/QtSourceList.html . Natomiast reszta pliku jest taka
sama jak w przypadku standardowego pliku projektu Qt dla biblioteki
współdzielonej. Trzeba tylko pamiętać by dodać zmienną DESTDIR. Może on
wyglądać tak:
TARGET = HunSpell
CONFIG(debug, debug|release) {
win32: TARGET = $$join(TARGET,,,D)
mac: TARGET = $$join(TARGET,,,_debug)
unix:!mac: TARGET = $$join(TARGET,,,.debug)
}
VERSION = 1.3.4
TEMPLATE = lib
DESTDIR = $$PWD/../../../../../../Textprofan2-work/Libs
QT += core
QT -= gui
HEADERS += hunspell/affentry.hxx \
hunspell/affixmgr.hxx \
hunspell/atypes.hxx \
hunspell/baseaffix.hxx \
hunspell/csutil.hxx \
hunspell/filemgr.hxx \
hunspell/hashmgr.hxx \
hunspell/htypes.hxx \
hunspell/hunspell.h \
hunspell/hunspell.hxx \
hunspell/hunvisapi.h \
hunspell/hunvisapi.h.in \
hunspell/hunzip.hxx \
hunspell/langnum.hxx \
hunspell/phonet.hxx \
hunspell/replist.hxx \
hunspell/suggestmgr.hxx \
hunspell/w_char.hxx
SOURCES += hunspell/affentry.cxx \
hunspell/affixmgr.cxx \
hunspell/csutil.cxx \
hunspell/filemgr.cxx \
hunspell/hashmgr.cxx \
hunspell/hunspell.cxx \
hunspell/hunzip.cxx \
hunspell/phonet.cxx \
hunspell/replist.cxx \
hunspell/suggestmgr.cxx \
hunspell/utf_info.cxx
DEFINES += BUILDING_LIBHUNSPELL
win32:CONFIG += dll
#DISTFILES += \
# hunspell/Makefile.am
2. W pliku projektu jaki ma używać biblioteki Hunspell (czyli w twoim
przypadku jest to edytor) tworzysz takie coś:
ROOT_PROJECT = $$PWD/../.. # Zmienna pomocnicza dla wygody
DESTDIR=$$ROOT_PROJECT/../Textprofan2-work # To katalog docelowy, do testów
# Trzeba obsłużyć 2 przypadki linkowania biblioteki w wersji debug i release
CONFIG(release, debug|release): LIBS += -lHunSpell
CONFIG(debug, debug|release): LIBS += -lHunSpell.debug
LIBS += -L$$ROOT_PROJECT/../Textprofan2-work/Libs # Katalog linkowania
INCLUDEPATH += $$ROOT_PROJECT/Src/Libs/3rdparty/Hunspell/src/hunspell
3. Aby miało to ręce i nogi ja mam taką strukturę katalogów projektu:
Textprofan2.pro
|-Src
|-Libs
|-3rdparty
|-Hunspell
|-src
|-hunspell.pro
|-inne obce biblioteki...
|-moja biblioteka1
|-moja bibliotekaN
|-Textprofan (program głowny)
|-Textprofan.pro
4. Plik Textprofan2.pro ma taką treść:
TEMPLATE = subdirs
# W SUBDIRS są same aliasy
SUBDIRS = \
QtCsv \
Hunspell \
# KSyntaxhighligting \
Common \
Editor \
Textprofan
# Pierszy rodzaj aliasu: podkatalogi
Common.subdir = Src/Libs/Common
Editor.subdir = Src/Libs/Editor
Textprofan.subdir = Src/Textprofan
# Drugi rodzaj aliasu ścieżki do plików pro
QtCsv.file = Src/Libs/3rdparty/qtcsv-1.5/qtcsv.pro
Hunspell.file = Src/Libs/3rdparty/Hunspell/src/hunspell.pro
#KSyntaxhighligting.file =
Src/Libs/3rdparty/KSyntaxHighlighter/syntax-highlighting/CMakeLists.txt
# what subproject depends on others
Editor.depends = Common Hunspell QtCsv
Textprofan.depends = Common Editor QtCsv
Re: Słownik do edytora
Author: Borneq
Date: Wed, 13 Mar 2019 18:09
Date: Wed, 13 Mar 2019 18:09
11 lines
1600 bytes
1600 bytes
W dniu 13.03.2019 o 16:25, Szyk Cech pisze:> Może trochę Ci podpowiem jak włączać biblioteki zewnętrzne do projektu Qt: > 1. Ja utworzyłem specjalny plik projektu Qt dla Hunspell - jego > zasadniczą część wygenerowałem skryptem: > http://szyk.jcom.pl/QtSourceList.html . Natomiast reszta pliku jest taka > sama jak w przypadku standardowego pliku projektu Qt dla biblioteki > współdzielonej. Trzeba tylko pamiętać by dodać zmienną DESTDIR. Może on > wyglądać tak: Dzięki za obszerne wytłumaczenie! Dziś z czasem gorzej, ale w ciągu najbliższych dni postaram się coś z tym zrobić.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads