Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/origin/1.270v'
Browse files Browse the repository at this point in the history
  • Loading branch information
killkimno committed Feb 3, 2024
2 parents 274b37a + d6de36c commit 10edf18
Show file tree
Hide file tree
Showing 15 changed files with 150 additions and 92 deletions.
68 changes: 41 additions & 27 deletions MORT/Form1.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions MORT/Form1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1187,6 +1187,9 @@ public void gHook_KeyDown(object sender, KeyEventArgs e)
case KeyInputLabel.KeyType.DeepL:
ApplyTransTypeFromHotKey(SettingManager.TransType.deepl, LocalizeString("Switching DeepL"));
break;
case KeyInputLabel.KeyType.PapagoWeb:
ApplyTransTypeFromHotKey(SettingManager.TransType.papago_web, LocalizeString("Switching Papago Web"));
break;
}
}
}
Expand Down
1 change: 1 addition & 0 deletions MORT/FormLocalize.cs
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,7 @@ private void LocalizeBasicForm()
lbPaPago.LocalizeLabel("Papago Setting");
lbPaPagoFrom.LocalizeLabel("Common From");
lbPaPagoTo.LocalizeLabel("Common To");
lbPapagoLanguageCodeInformation.LocalizeLabel("Papago Language Code Information");

//구글 번역
lbGoogle.LocalizeLabel("Google Setting");
Expand Down
2 changes: 1 addition & 1 deletion MORT/KeyInputLabel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public partial class KeyInputLabel : UserControl
public enum KeyType
{
None, Translate, OpenDic, QuickOCR, SnapShot, TranslateOnce, Hide,
OpenSetting, LayerTransparency, DBTranslate, NaverTranslate, GoogleTranslate, GoogleSheetTranslate, EzTrans, DeepL
OpenSetting, LayerTransparency, DBTranslate, NaverTranslate, GoogleTranslate, GoogleSheetTranslate, EzTrans, DeepL, PapagoWeb
}
public KeyType keyType = KeyType.None;
public bool isFocus;
Expand Down
2 changes: 1 addition & 1 deletion MORT/Manager/OCRDataManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ public static bool GetIsIntersectsWith(LineData beforeData, LineData data, bool
//가로 처리
else if(mergeLine)
{
int adjust = (int)(beforeFontSize * 0.8f) / 2;
int adjust = (int)(beforeFontSize * 0.8f);

rect1.Width += adjust;
rect1.X -= adjust;
Expand Down
36 changes: 15 additions & 21 deletions MORT/Manager/TransManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,16 @@ public string Title
public string languageCode;
public string googleCode;
public string naverCode;
public bool isSupportNaverResult;
private readonly bool _customCode;

public TransCodeData(string key, string title, string languageCode, string deepLCode, string googleCode, string naverCode, bool isSupportNaverResult, bool customCode)
public TransCodeData(string key, string title, string languageCode, string deepLCode, string googleCode, string naverCode, bool customCode)
{
Key = key;
this.title = title;
this.languageCode = languageCode;
DeepLCode = deepLCode;
this.googleCode = googleCode;
this.naverCode = naverCode;
this.isSupportNaverResult = isSupportNaverResult;
this._customCode = customCode;
}
}
Expand Down Expand Up @@ -704,16 +702,15 @@ public static bool GetIsRemain()

return isRemain;
}
private void AddTransCode(string key, string title, string ocrCode, string naverCode, string googleCode, string deepLCode,
bool isSupportNaverResult = false, bool customCode = false)
private void AddTransCode(string key, string title, string ocrCode, string naverCode, string googleCode, string deepLCode, bool customCode = false)
{
if (codeDataList.Any(r => r.Key == key))
{
//중복 방지
return;
}

TransCodeData data = new TransCodeData(key, title, ocrCode, deepLCode, googleCode, naverCode, isSupportNaverResult, customCode);
TransCodeData data = new TransCodeData(key, title, ocrCode, deepLCode, googleCode, naverCode, customCode);
codeDataList.Add(data);
}

Expand Down Expand Up @@ -782,7 +779,7 @@ public void InitTransCode(System.Windows.Forms.ComboBox cbNaver, System.Windows.


codeDataList.Clear();
AddTransCode("en", "영어", "en", "en", "en", "en", true);
AddTransCode("en", "영어", "en", "en", "en", "en");
AddTransCode("ja", "일본어", "ja", "ja", "ja", "ja");
AddTransCode("zh-CN", "중국어 간체", "zh-Hans-CN", "zh-CN", "zh-CN", "zh-CN");
AddTransCode("zh-TW", "중국어 번체", "zh-Hant-TW", "zh-TW", "zh-TW", "zh-TW");
Expand All @@ -791,16 +788,16 @@ public void InitTransCode(System.Windows.Forms.ComboBox cbNaver, System.Windows.
AddTransCode("vi", "베트남어", "vi", "vi", "vi", "vi");
AddTransCode("th", "태국어", "th", "th", "th", "th");
AddTransCode("id", "인도네시아어", "id", "id", "id", "id");
AddTransCode("ko", "한국어", "", "ko", "ko", "ko", true);
AddTransCode("ru", "러시아어", "ru", "", "ru", "ru");
AddTransCode("de", "독일어", "de-DE", "", "de", "de");
AddTransCode("ko", "한국어", "", "ko", "ko", "ko");
AddTransCode("ru", "러시아어", "ru", "ru", "ru", "ru");
AddTransCode("de", "독일어", "de-DE", "de", "de", "de");
AddTransCode("pt-BR", "브라질어", "pt-BR", "", "pt-BR", "pt-BR");
AddTransCode("pt-PT", "포르투갈어", "pt-PT", "", "pt-PT", "pt-PT");
AddTransCode("pt-PT", "포르투갈어", "pt-PT", "pt", "pt-PT", "pt-PT");
AddTransCode("tr", "터키어", "tr", "", "tr", "tr");
AddTransCode("it", "이탈리아어", "it", "", "it", "it");

AddTransCode("pl", "폴란드어", "pl", "", "pl", "pl");
AddTransCode("ar", "아랍어", "ar", "", "ar", ""); //딥플 지원 안 함
AddTransCode("ar", "아랍어", "ar", "ar", "ar", ""); //딥플 지원 안 함
AddTransCode("hu", "헝가리어", "hu", "", "hu", "hu");
AddTransCode("uk", "우크라이나어", "uk", "", "uk", "uk");

Expand Down Expand Up @@ -830,16 +827,13 @@ public void InitTransCode(System.Windows.Forms.ComboBox cbNaver, System.Windows.
cbNaver.Items.Add(item);

//네이버 결과
if (obj.isSupportNaverResult)
if (obj.naverCode == "ko")
{
if (obj.naverCode == "ko")
{
cbNaverResult.Items.Insert(0, item);
}
else
{
cbNaverResult.Items.Add(item);
}
cbNaverResult.Items.Insert(0, item);
}
else
{
cbNaverResult.Items.Add(item);
}
}

Expand Down
9 changes: 8 additions & 1 deletion MORT/Model/OCR/EasyOcrResultModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,17 @@ public class EasyOcrResultModel

public EasyOcrResultModel(List<List<(int x, int y)>> points, List<string> text)
{
foreach(var line in text)
if (text?.Count == 0)
{
return;
}

foreach (var line in text)
{
MainText += line + System.Environment.NewLine;
}


Words = text.ToArray();

IsEmpty = string.IsNullOrEmpty(MainText);
Expand Down
50 changes: 30 additions & 20 deletions MORT/OcrApi/EasyOcr/EasyOcr.cs
Original file line number Diff line number Diff line change
Expand Up @@ -213,38 +213,48 @@ public EasyOcrResultModel ProcessOcr(byte[] byteData, int channel, int width, in

//bitmap.Save(Path.GetFullPath(".") + "\\test.bmp", ImageFormat.Bmp);

dynamic ocrResult = _reader.readtext(_bytes.Invoke(resultBytes.ToPython()), detail: 1, paragraph: false);
//var pyList = reader.readtext("https://scalar.usc.edu/works/chronicles/media/frog-j.png");

List<List<(int x, int y)>> points = new List<List<(int x, int y)>>();
List<string> words = new List<string>();
foreach (var py in ocrResult)
try
{
PyObject pyObj = py;
var item1 = pyObj.GetItem(0);

long length = item1.Length();
dynamic ocrResult = _reader.readtext(_bytes.Invoke(resultBytes.ToPython()), detail: 1, paragraph: false);
//var pyList = reader.readtext("https://scalar.usc.edu/works/chronicles/media/frog-j.png");

List<(int x, int y)> list = new List<(int x, int y)>();
for(int i = 0; i < length; i++)
List<List<(int x, int y)>> points = new List<List<(int x, int y)>>();
List<string> words = new List<string>();
foreach (var py in ocrResult)
{
var pos = item1[i];
int x = (int)Convert.ToDouble(pos.GetItem(0).ToString(), CultureInfo.InvariantCulture.NumberFormat);
int y = (int)Convert.ToDouble(pos.GetItem(1).ToString(), CultureInfo.InvariantCulture.NumberFormat);
list.Add(new(x, y));
}
PyObject pyObj = py;
var item1 = pyObj.GetItem(0);

points.Add(list);
long length = item1.Length();

List<(int x, int y)> list = new List<(int x, int y)>();
for (int i = 0; i < length; i++)
{
var pos = item1[i];
int x = (int)Convert.ToDouble(pos.GetItem(0).ToString(), CultureInfo.InvariantCulture.NumberFormat);
int y = (int)Convert.ToDouble(pos.GetItem(1).ToString(), CultureInfo.InvariantCulture.NumberFormat);
list.Add(new(x, y));
}

words.Add(pyObj.GetItem(1).ToString());
points.Add(list);

words.Add(pyObj.GetItem(1).ToString());
}

easyOcrResultModel = new EasyOcrResultModel(points, words);
}
catch (Exception ex)
{
Util.ShowLog(ex.Message);
}


Array.Clear(newArr, 0, newArr.Length);

int identificador = GC.GetGeneration(newArr);
GC.Collect(identificador, GCCollectionMode.Forced);

easyOcrResultModel = new EasyOcrResultModel(points, words);

}
}

Expand Down
Loading

0 comments on commit 10edf18

Please sign in to comment.