Skip to content

Commit fe1a9a5

Browse files
committed
rm mecab
1 parent 9a42659 commit fe1a9a5

16 files changed

Lines changed: 15 additions & 191 deletions

File tree

scripts/vcpkg-manifest/vcpkg.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"dependencies": [
44
"sdl2",
55
"ffmpeg-fake",
6-
"mecab",
76
"fftw3",
87
"yaml-cpp",
98
"cpp-pinyin",

src/CMakeLists.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,9 @@ if (NOT DEFINED BUILD_TESTS)
22
set(BUILD_TESTS on)
33
endif ()
44

5-
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Widgets Svg REQUIRED)
5+
find_package(QT NAMES Qt6 COMPONENTS Core Widgets Svg REQUIRED)
66
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Widgets Svg REQUIRED)
77

8-
if (QT_VERSION_MAJOR GREATER_EQUAL 6)
9-
message(STATUS "Qt6 detected, adding Core5Compat module")
10-
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core5Compat REQUIRED)
11-
endif ()
12-
138
add_custom_target(DeployedTargets)
149

1510
add_subdirectory(apps)

src/apps/MinLabel/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,12 @@ set(CMAKE_AUTOUIC ON)
77
file(GLOB_RECURSE _src *.h *.cpp)
88
add_executable(${PROJECT_NAME} ${_src} res.qrc res/qss.qrc)
99

10-
find_package(mecab CONFIG REQUIRED)
1110
find_package(cpp-pinyin CONFIG REQUIRED)
1211
find_package(cpp-kana CONFIG REQUIRED)
1312

1413
target_link_libraries(${PROJECT_NAME} PRIVATE
1514
Qt${QT_VERSION_MAJOR}::Core
1615
Qt${QT_VERSION_MAJOR}::Widgets
17-
mecab::mecab
1816
cpp-pinyin::cpp-pinyin
1917
cpp-kana::cpp-kana
2018
QMCore SDLPlayback FFmpegDecoder
@@ -39,7 +37,6 @@ if (APPLE)
3937
endif ()
4038

4139
set(DIRECTORIES_TO_COPY
42-
mecabDict
4340
qss
4441
)
4542

src/apps/MinLabel/gui/TextWidget.cpp

Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,11 @@
55
#include <QDebug>
66
#include <QLineEdit>
77
#include <QRegularExpression>
8-
#include <QTextCodec>
98

109
#include <cpp-kana/Kana.h>
1110

1211
TextWidget::TextWidget(QWidget *parent)
13-
: QWidget(parent), g2p_man(new Pinyin::Pinyin()), g2p_canton(new Pinyin::Jyutping()),
14-
mecabYomi(mecabInit("mecabDict", "yomi")), mecabWakati(mecabInit("mecabDict", "wakati")) {
12+
: QWidget(parent), g2p_man(new Pinyin::Pinyin()), g2p_canton(new Pinyin::Jyutping()) {
1513
wordsText = new QLineEdit();
1614
wordsText->setPlaceholderText("Enter mandarin here...");
1715

@@ -88,19 +86,18 @@ TextWidget::TextWidget(QWidget *parent)
8886
connect(replaceAction, &QAction::triggered, this, &TextWidget::_q_replaceButtonClicked);
8987
}
9088

91-
TextWidget::~TextWidget(){};
89+
TextWidget::~TextWidget() = default;
9290

9391
QString TextWidget::sentence() const {
9492
QString words = wordsText->text();
95-
words.replace("\r\n", " ");
96-
words.replace("\n", " ");
93+
words.replace(QRegularExpression(R"([\r\n]+)"), " ");
94+
words = words.simplified();
9795
return words;
9896
}
9997

10098
void TextWidget::_q_pasteButtonClicked() const {
10199
const auto board = QApplication::clipboard();
102-
const QString text = board->text();
103-
if (!text.isEmpty()) {
100+
if (const QString text = board->text(); !text.isEmpty()) {
104101
wordsText->setText(text);
105102
}
106103
}
@@ -124,7 +121,7 @@ void TextWidget::_q_replaceButtonClicked() const {
124121
break;
125122
}
126123
case 1: {
127-
str = QString::fromUtf8(Kana::kanaToRomaji(mecabConvert(jpInput).toUtf8().toStdString(),
124+
str = QString::fromUtf8(Kana::kanaToRomaji(jpInput.toUtf8().toStdString(),
128125
Kana::Error::Default, doubleConsonant->isChecked())
129126
.toStdStr()
130127
.c_str());
@@ -157,7 +154,7 @@ void TextWidget::_q_appendButtonClicked() const {
157154
break;
158155
}
159156
case 1: {
160-
str = QString::fromUtf8(Kana::kanaToRomaji(mecabConvert(jpInput).toUtf8().toStdString(),
157+
str = QString::fromUtf8(Kana::kanaToRomaji(jpInput.toUtf8().toStdString(),
161158
Kana::Error::Default, doubleConsonant->isChecked())
162159
.toStdStr()
163160
.c_str());
@@ -197,26 +194,4 @@ void TextWidget::_q_onLanguageComboIndexChanged() {
197194
for (QCheckBox *control : optionMap[selectedLanguage]) {
198195
control->show();
199196
}
200-
}
201-
202-
MeCab::Tagger *TextWidget::mecabInit(const QString &path, const QString &format) {
203-
const QString args = "-O" + format + " -d " + path + " -r" + path + "/mecabrc";
204-
return MeCab::createTagger(args.toUtf8());
205-
}
206-
207-
QString TextWidget::mecabConvert(const QString &input) const {
208-
const QTextCodec *codec = QTextCodec::codecForName("GBK");
209-
const QByteArray mecabRes = mecabWakati->parse(codec->fromUnicode(input));
210-
211-
QStringList out;
212-
foreach (auto &it, mecabRes.split(' ')) {
213-
QString res = codec->toUnicode(mecabYomi->parse(it));
214-
const QStringList item = res.split("\t");
215-
if (item.size() > 1) {
216-
out.append(item[1]);
217-
} else if (!item.empty() && item[0] != "") {
218-
out.append(item[0]);
219-
}
220-
}
221-
return out.join(" ");
222197
}

src/apps/MinLabel/gui/TextWidget.h

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
#include <cpp-pinyin/Jyutping.h>
1313
#include <cpp-pinyin/Pinyin.h>
1414

15-
#include <mecab/mecab.h>
16-
1715
class TextWidget final : public QWidget {
1816
Q_OBJECT
1917
public:
@@ -50,11 +48,7 @@ class TextWidget final : public QWidget {
5048
QScopedPointer<Pinyin::Jyutping> g2p_canton;
5149

5250
private:
53-
MeCab::Tagger *mecabYomi;
54-
MeCab::Tagger *mecabWakati;
55-
[[nodiscard]] QString sentence() const;
56-
static MeCab::Tagger *mecabInit(const QString &path = "mecabDict", const QString &format = "wakati");
57-
[[nodiscard]] QString mecabConvert(const QString &input) const;
51+
QString sentence() const;
5852

5953
void _q_pasteButtonClicked() const;
6054
void _q_replaceButtonClicked() const;

src/apps/MinLabel/res/mecabDict/COPYING

Lines changed: 0 additions & 100 deletions
This file was deleted.
-256 KB
Binary file not shown.

src/apps/MinLabel/res/mecabDict/dicrc

Lines changed: 0 additions & 29 deletions
This file was deleted.
-3.62 MB
Binary file not shown.

src/apps/MinLabel/res/mecabDict/mecabrc

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)