Skip to content

Commit

Permalink
v1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
watamario15 committed Aug 28, 2023
1 parent 54d5548 commit 942b112
Show file tree
Hide file tree
Showing 10 changed files with 1,090 additions and 506 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "brain-essential"]
path = brain-essential
url = https://github.com/brain-hackers/brain-essential.git
url = https://github.com/watamario15/brain-essential.git
539 changes: 505 additions & 34 deletions KNMemoPad.vcp

Large diffs are not rendered by default.

35 changes: 34 additions & 1 deletion KNMemoPad.vcw
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,40 @@ Microsoft eMbedded Visual Tools Workspace File, Format Version 4.00

###############################################################################

Project: "KNMemoPad"=.\KNMemoPad.vcp - Package Owner=<4>
Project: "KNMemoPad"=".\KNMemoPad.vcp" - Package Owner=<4>

Package=<5>
{{{
}}}

Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name kncedlg
End Project Dependency
Begin Project Dependency
Project_Dep_Name knceutil
End Project Dependency
}}}

###############################################################################

Project: "kncedlg"=".\BRAIN-ESSENTIAL\kncedlg\kncedlg.vcp" - Package Owner=<4>

Package=<5>
{{{
}}}

Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name knceutil
End Project Dependency
}}}

###############################################################################

Project: "knceutil"=".\BRAIN-ESSENTIAL\knceutil\knceutil.vcp" - Package Owner=<4>

Package=<5>
{{{
Expand Down
97 changes: 24 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,98 +1,49 @@
# KN MemoPad 機能追加版

Knatech 氏制作の SHARP Brain 用テキストエディタ **KN MemoPad** に、**文字色と背景色の変更機能****UTF-8・UTF-16 LE・MS1252 文字コード及び CRLF・LF・CR 改行コードのサポート****行・列数表示機能**を追加したフォークです。既存機能はそのままですので、何かミスがなければ完全な上位互換として動作するはずです。
![](knmemopad.png)

オリジナル版との干渉が起こることを防ぐため、設定の保存ファイルは別にしています
Knatech 氏制作の SHARP Brain 用テキストエディタ **KN MemoPad** に、**文字色と背景色の変更機能****UTF-8・UTF-16 LE・CP1252 文字コード及び CRLF・LF・CR 改行コードのサポート****行・列数表示機能****ツールバー**などを追加したフォークです

オリジナル版は[ここ](https://web.archive.org/web/20210405101135if_/https://bbuseruploads.s3.amazonaws.com/knatech/brain-tools/downloads/knmemopad-0.12-arm.zip?Signature=M8M5J6%2BYIpwBRsuX9Kr5co2%2FkCQ%3D&Expires=1617619295&AWSAccessKeyId=AKIA6KOSE3BNJRRFUUX6&versionId=null&response-content-disposition=attachment%3B%20filename%3D%22knmemopad-0.12-arm.zip%22)から入手できます。詳しい使い方は[こちら](https://web.archive.org/web/20210405101157if_/https://bbuseruploads.s3.amazonaws.com/knatech/brain-tools/downloads/brain_apps_knmemopad.pdf?Signature=Ws5WiFXqyhIS1pF%2Fzzm2tbNdcic%3D&Expires=1617619316&AWSAccessKeyId=AKIA6KOSE3BNJRRFUUX6&versionId=null&response-content-disposition=attachment%3B%20filename%3D%22brain_apps_knmemopad.pdf%22)を参照してください。

## 動作要件

これは **Windows CE (Armv4I)** 用ソフトウェアです。一部 SHARP Brain 専用の機能があります。

**SHARP Brain PW-SH1 (Windows Embedded CE 6.0, Armv5TEJ)** で動作確認を行っています。

## 文字コード切り替えについて
## 追加機能の仕様

BOM の情報だけを基に文字コードの自動判別を行います。BOM 無しファイル(Shift_JIS/BOM 無し UTF-8)の場合は、判別できませんので予め **Tools -> Charset...** で選択してから開いてください。先に開いてから選択し、Reload でも構いません。この機能は **Tools -> Charset... -> Auto Detect by BOM** から無効化も可能です。
### 文字コード

Reload 及び Save は、その時点で選択されている文字コードで行われます。予め開きたい or 保存したい文字コードに設定してからそれらの処理を行ってください。間違った文字コードで処理してしまっても、正しく設定してからやり直せば大丈夫です。
BOM の情報だけを基に文字コードの自動判別を行います。BOM 無しファイル(Shift_JIS/BOM 無し UTF-8)の場合は、判別できませんので予め **Tools -> Charset...** で選択してから開いてください。先に開いてから選択し、Reload でも構いません。この機能は **Tools -> Charset... -> Auto Detect by BOM** から無効化も可能です。Reload 及び Save は、その時点で選択されている文字コードで行われます。予め開きたい or 保存したい文字コードに設定してからそれらの処理を行ってください。間違った文字コードで処理してしまっても、正しく設定してからやり直せば大丈夫です。

### 自動判別の仕様
自動判別は以下の仕様です。

1. 最初が「EF BB BF」なら UTF-8、「FF FE」なら UTF-16 LE として読み込む。
1. 違ったら BOM 無しと判断し、現在ユーザが設定している文字コードを見る。UTF-16 LE 以外ならそのまま、UTF-16 LE なら Shift_JIS に設定する。
1. 最初が `EF BB BF` なら UTF-8、`FF FE` なら UTF-16 LE として読み込む
1. 違ったら BOM 無しと判断し、現在ユーザが設定している文字コードを見る
1. UTF-16 LE 以外ならそのまま、UTF-16 LE なら Shift_JIS に設定する

## 改行コード処理について
### 改行コード

[wstring 中の改行コードを変換する - わびさびサンプルソース](https://www.wabiapp.com/WabiSampleSource/windows/convert_crlf_w.html)で提供されているコードを基に、カスタマイズして使用しています。
[wstring 中の改行コードを変換する - わびさびサンプルソース](https://www.wabiapp.com/WabiSampleSource/windows/convert_crlf_w.html)で提供されているコードを基に、カスタマイズして使用しています。どの改行コードでも指定不要で読み込める他、バグなどで改行コードが混在したファイルでも、正常に読み込むことができます。読み込んだとき、最も多かった改行コード種をそのファイルの改行コードと判断し、**Tools -> Newline Code...** に設定します。保存前に別の改行コードに設定すれば、その改行コードで保存します。

どの改行コードでも指定不要で読み込める他、バグなどで改行コードが混在したファイルでも、正常に読み込むことができます。
### 行・列表示

読み込んだとき、最も多かった改行コード種をそのファイルの改行コードと判断し、**Tools -> Newline Code...** に設定します。保存前に別の改行コードに設定すれば、その改行コードで保存します
wordwrap が無効であれば正しく表示されますが、有効になっていると折り返しも 1 行とカウントされます。行・列表示を参考にする場合は、 wordwrap を無効化することをお勧めします。Windows 標準のメモ帳でも、Windows 10 で改良される前まで wordwrap 有効時はステータスバーが無効になっていました

## 行・列数表示について

wordwrap が無効であれば正しく表示されますが、有効になっていると折り返しも 1 行とカウントされてしまいます。行・列数表示を参考にする場合は、 wordwrap を無効化することをお勧めします。Windows 標準のメモ帳でも、Windows 10 で改良される前まで wordwrap 有効時はステータスバーが無効になっていました。

## ソースコードについて
## 動作要件

**eMbedded Visual C++ 4.0** から .vcw ワークスペースを開いてください
これは **Windows CE** 用ソフトウェアです。**[SHARP Brain PW-SH1](https://jp.sharp/support/dictionary/product/pw-sh1.html) (Windows Embedded CE 6.0, Armv5TEJ)** で動作確認を行っています。一部 SHARP Brain 専用の機能があります

## 著作権情報など
## 利用上の注意

**製作者は、このプログラムの利用によって生じた、いかなる損害についても責任を負いません。**

オリジナル版の規定に従い、同じく **[GNU General Public License](LICENSE)** で配布します。

## 変更履歴

### v0.12 rev7 (2020/11/1)

改行コード CRLF で保存しようとすると、本文が空のデータが保存される問題を修正。

### v0.12 rev6 (2020/10/3)

ステータスバーの表示・非表示を切り替えられるようにした。

Reload 時は文字コード自動判別を行わないように変更した。

ステータスバーの行・列表示欄の幅が狭く、不足する場合があったのを修正。

ステータスバーがテキスト編集部分の上に被さってしまう問題を修正。

ウィンドウサイズが変化したとき、ステータスバーが適切に移動しない問題を修正。

その他、細かい修正や変更を行った。

### v0.12 rev5 (2020/9/30)

MS1252(英語圏 Windows の ANSI)に対応した(海外のソフトの readme でたまに使われているので)。

現在指定されている改行コードと文字コードもステータスバーに表示するようにした。

Add BOM メニュー項目がうまく機能しなくなっていたのを修正。

### v0.12 rev4 (2020/9/30)

各改行コードに対応した。

現在キャレットがある行・列の番号を、ステータスバーに表示するようにした。

### v0.12 rev3 (2020/9/28)

BOM だけで判別する、簡単な文字コード自動判別を実装した。

### v0.12 rev2 (2020/9/23)

UTF-8(BOM 有り無し両方)と UTF-16 LE に対応した。それに伴い、ファイル読み込み・保存の部分を大きく書き換えた。これによりオリジナル版の、ファイル末尾に勝手に改行が追加される仕様はなくなった。
オリジナル版の規定に従い **[GNU General Public License](LICENSE)** の下で配布します。

色選択ダイアログ左下の、作成した色リストを保存するようにした。
## ダウンロード

バージョン情報を追加し、ソフトウェア内からも確認できるようにした
**[Releases](../../releases)** からダウンロードできます。SHARP Brain では Armv4I 向けのものをダウンロードし、[こちら](https://brain.fandom.com/ja/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95)の手順に従って導入してください

コマンドラインや関連付けで指定されたファイルも開けるようにした。
## ビルド方法

### v0.12 rev1 (2020/9/20)
```sh
git clone --recursive https://github.com/watamario15/kn-memopad.git
```

文字色・背景色を変更できる機能を追加した
によって submodule 込みで clone したのち、eMbedded Visual C++ 4.0 から .vcw ワークスペースを開き、左上のメニューで「KNMemoPad」を選択した状態でビルドします
2 changes: 1 addition & 1 deletion brain-essential
Submodule brain-essential updated 47 files
+0 −3 .gitignore
+11 −0 brainapi/.gitignore
+0 −0 brainapi/COPYING
+114 −114 brainapi/brainapi.cpp
+78 −78 brainapi/brainapi.h
+1 −1 brainapi/brainapi.mk
+548 −0 brainapi/brainapi.vcp
+29 −0 brainapi/brainapi.vcw
+ kncecomm-0.18/kncecomm-0.18.dll
+ kncecomm-0.18/kncecomm-0.18.exp
+11 −0 kncecomm/.gitignore
+0 −0 kncecomm/COPYING
+290 −290 kncecomm/knceappdlg.cpp
+146 −146 kncecomm/kncecapkeydlg.cpp
+696 −692 kncecomm/kncecomm.cpp
+128 −128 kncecomm/kncecomm.h
+2 −2 kncecomm/kncecomm.mk
+ kncecomm/kncecomm.res
+1,037 −0 kncecomm/kncecomm.vcp
+29 −0 kncecomm/kncecomm.vcw
+219 −219 kncecomm/kncedirdlg.cpp
+458 −458 kncecomm/kncefiledlg.cpp
+240 −240 kncecomm/kncefontdlg.cpp
+147 −147 kncecomm/kncewaitbox.cpp
+ kncedlg-0.10/kncedlg-0.10.dll
+ kncedlg-0.10/kncedlg-0.10.exp
+12 −0 kncedlg/.gitignore
+0 −0 kncedlg/COPYING
+288 −285 kncedlg/knceappdlg.cpp
+145 −145 kncedlg/kncecapkeydlg.cpp
+214 −214 kncedlg/kncedirdlg.cpp
+130 −130 kncedlg/kncedlg.cpp
+59 −58 kncedlg/kncedlg.h
+4 −4 kncedlg/kncedlg.mk
+ kncedlg/kncedlg.res
+1,097 −0 kncedlg/kncedlg.vcp
+44 −0 kncedlg/kncedlg.vcw
+459 −459 kncedlg/kncefiledlg.cpp
+240 −240 kncedlg/kncefontdlg.cpp
+147 −147 kncedlg/kncewaitbox.cpp
+10 −0 knceutil/.gitignore
+0 −0 knceutil/COPYING
+576 −573 knceutil/knceutil.cpp
+107 −106 knceutil/knceutil.h
+1 −1 knceutil/knceutil.mk
+471 −0 knceutil/knceutil.vcp
+29 −0 knceutil/knceutil.vcw
Loading

0 comments on commit 942b112

Please sign in to comment.