From 98e9fa6f90166bd38033a21845eb68b29d64df17 Mon Sep 17 00:00:00 2001 From: "C.Ponapalt" Date: Mon, 28 Oct 2024 20:05:26 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B3=E3=83=9F=E3=83=83=E3=83=88=E5=BF=98?= =?UTF-8?q?=E3=82=8C=E3=81=A6=E3=81=9F=20=E3=81=93=E3=82=8C=E3=81=8C?= =?UTF-8?q?=E3=81=BB=E3=82=93=E3=81=A8=E3=81=AE=20Mc170-4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- satoriya/satori/resource.rc | 4 ++-- satoriya/satori/satori.cpp | 2 +- satoriya/satori/satori_sentence.cpp | 12 ++++++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/satoriya/satori/resource.rc b/satoriya/satori/resource.rc index e060eff..705a661 100644 --- a/satoriya/satori/resource.rc +++ b/satoriya/satori/resource.rc @@ -28,7 +28,7 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,170,3,1 + FILEVERSION 1,170,4,1 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG @@ -47,7 +47,7 @@ BEGIN VALUE "Comments", " \0" VALUE "CompanyName", " \0" VALUE "FileDescription", "satori\0" - VALUE "FileVersion", "1, 170, 3, 1\0" + VALUE "FileVersion", "1, 170, 4, 1\0" VALUE "InternalName", "satori\0" VALUE "LegalCopyright", " \0" VALUE "LegalTrademarks", "\0" diff --git a/satoriya/satori/satori.cpp b/satoriya/satori/satori.cpp index 0f89308..31e5e86 100644 --- a/satoriya/satori/satori.cpp +++ b/satoriya/satori/satori.cpp @@ -14,7 +14,7 @@ const char* gSatoriName = "Satori"; const char* gSatoriNameW = "里々"; const char* gSatoriCraftman = "Yagi Kushigahama/The Maintenance Shop"; const char* gSatoriCraftmanW = "櫛ヶ浜やぎ/整備班"; -const char* gSatoriVersion = "phase Mc170-3"; +const char* gSatoriVersion = "phase Mc170-4"; const char* gShioriVersion = "3.0"; const char* gSaoriVersion = "1.0"; diff --git a/satoriya/satori/satori_sentence.cpp b/satoriya/satori/satori_sentence.cpp index 52e8dba..abc76cf 100644 --- a/satoriya/satori/satori_sentence.cpp +++ b/satoriya/satori/satori_sentence.cpp @@ -490,10 +490,18 @@ int Satori::SentenceToSakuraScriptInternal(const strvec &vec,string &result,stri string cmd="",opt=""; //複数個のアンダースコアと、1個の文字 - while (!_ismbblead(*p) && *p=='_') + while (!_ismbblead(*p) && *p=='_') { ++p; - if (!_ismbblead(*p) && (isalpha(*p)||isdigit(*p)||*p=='!'||*p=='-'||*p=='*'||*p=='&'||*p=='?'||*p=='+')) + } + if (!_ismbblead(*p) && (isalpha(*p)||isdigit(*p)||*p=='!'||*p=='-'||*p=='*'||*p=='&'||*p=='?'||*p=='+')) { + char c = *p; ++p; + if (!_ismbblead(*p) && (c == 'w' || c == 's' || c == 'p')) { + if ( isdigit(*p) ) { + ++p; + } + } + } cmd.assign(start, p-start); if ( cmd == "_?" || cmd == "_!" ) { //エスケープ処理 この間に自動タグ挿入はしない