sakura icon indicating copy to clipboard operation
sakura copied to clipboard

OSDN転載: ヘルプファイルの不具合

Open KENCHjp opened this issue 4 years ago • 9 comments

以下、OSDNより転載します。 https://osdn.net/projects/sakura-editor/forums/34071/42606/

ヘルプファイルに不具合が数点あります。 Version: いつのバージョンからかはわかりませんが、V.2.4.1(Beta)以前、V2.2.0 などで確認できるものもあります

不具合(?)事項: 1, 検索・置換のダイアログに関するヘルプの最下部の[上検索][下検索]のリンク先がおかしい 対象:ヘルプ目次→コマンド概要→「検索(S)」メニュー→検索... または 置換... のページ 最下部にある [上検索]リンク が 次を検索 のページに、 [下検索]リンク が 前を検索 のページにそれぞれ逆に繋がっている。 #1338

2, マクロリファレンスにある検索・置換マクロのオプションの記載値が古い 記載時期が古いからだと思われるが、Version 2.1.0.0以降の新しいオプション値の記載がない。 キーワード検索の方だとマクロリファレンスの方が探しやすいが、そちらが古いので使いにくい #1344

3, レイアウト座標とロジック座標に対する表記ゆれ プロポーショナル対応追加に関連する、レイアウト座標・ロジック座標に対して 折り返し座標、折り返し単位、改行単位など表現に表記ゆれが多く、 表示上処理の折り返しか、改行区切り文字由来のなのか分かりにくい。 Version がBetaになってsakura.chmの記載が少し改善されたが、できれば他の関数も一貫して区別してほしい。

4, レイアウト関連仕様が(マクロ)リファレンスに無い 現状のプロポーショナルフォント対応関連の仕様を、マクロリファレンスかどこかに記載してほしい。 サクラのUnicode対応は現時点では古く、また組み文字・ゼロ幅・制御文字等の対応が不完全なので、 それらが含まれる絵文字や記号などが入ると取得幅・表示幅が不正確になりやすいが、ユーザーからはわかりにくいため。

KENCHjp avatar Jul 07 '20 07:07 KENCHjp

1 は修正PR作りました。

2 はソースから拾って更新したらいいのかな?(めんどくさいです。

3は「表記ゆれがある」というか、概念が分かりづらいんじゃないでしょうか。

  • 折り返し座標 レイアウト座標(行・桁)のことです。折り返しを考慮します。
  • 折り返し単位 行を数えるときの単位で、折り返し改行を考慮します。レイアウト単位です。
  • 改行単位 行を数えるときの単位で、折り返しを考慮しません。ロジック単位です。

4はリファレンスを書きづらいです。 リファレンスを書く、ということは現状の振る舞いを「仕様」として固定することです。 レイアウト取得のマクロ関数には リファレンスに反映されていない不適切な変更 が見つかっていて、どこかでなんとかせにゃならん、という話題が既出です。個人的には「プロポーショナルフォント対応とCSVモード」をrevertしてしまいたいと考えています。だから、書きづらい・・・。

berryzplus avatar Jul 07 '20 22:07 berryzplus

関連: #326

k-takata avatar Jul 07 '20 23:07 k-takata

@berryzplus さん 皆さん とりあえず転載しましたが、もちろん全部依頼通り修正するものではないという認識でおります。

>1 は修正PR作りました。 了解です。

>2 はソースから拾って更新したらいいのかな?(めんどくさいです。 こちら理想はドキュメンターほしいかと思っています(指摘してくれた人にやんわり合流依頼w)

>3は「表記ゆれがある」というか、概念が分かりづらいんじゃないでしょうか。  この前提で、こちらもドキュメンターに全体見通しながら直してもらえるといいのかなと(超理想論)

>4はリファレンスを書きづらいです。 >リファレンスを書く、ということは現状の振る舞いを「仕様」として固定することです。  こちらは問題を抱えている旨および将来やろうとしている方向性(revertするかも等)をASISで書いておくことが現メンバーのできる事なのかなと思いました。  「このような仕様になっています」はかっつり組みあがってからでいいのかなと。かっつり組みあがる日が来るのかあれですが(ネズミの夢の国のようなの永遠に増築するコンテンツなのかも・・・)

KENCHjp avatar Jul 09 '20 00:07 KENCHjp

折り返し座標 という記述は存在しないことが判明...。

berryzplus avatar Jul 11 '20 09:07 berryzplus

超ショックな事実が判明しました。

過去の修正履歴にこんな記述がありました。 https://github.com/sakura-editor/sakura/blob/5e9dd8faa1e88fa2a74639abbb9c0571d9d74f56/help/sakura/res/HLP_HISTORY.html#L71-L72

表記ゆれ対策として、物理行をレイアウト行に修正してるらしいんです。 物理行ってのはCDocLineのことレイアウト行 CLayout とは異なるエンティティです。 修正するなら、物理行=論理行=ロジック行でした・・・。

berryzplus avatar Jul 11 '20 16:07 berryzplus

ちょっと調べて見ました。 https://sakura-editor.github.io/bbslog/sf/ansi/1743.html げんた氏とberryzplusさんの「物理行=論理行=ロジック行」というのは誤解でしょう。 でもやざき氏の発言の「論理行」と「レイアウト行」で統一というのはソース履歴を見ると反映されていない気がします。 ので、このコメントを鵜呑みにしては危ういです。 https://sourceforge.net/p/sakura-editor/code/2322/tree/sakura/trunk/sakura_core/CLayoutMgr.h#l128 https://sourceforge.net/p/sakura-editor/code/HEAD/tree/sakura/trunk/sakura_core/CEditWnd.h#l207 古いサクラエディタではCaretPos_Phys2LogCaretPos_Log2PhysとCEditWndにSavePhysPosOfAllViewRestorePhysPosOfAllView関数があり Phys=フィジカル=物理行=レイアウト行=CLayout=折り返し単位 Log=ロジカル=論理行=ロジック行=CDocLine=改行単位 という風に建前上はなっているようです。 ただ非常にややこしいのは事実でありPhysは変更されてLayoutToLogicなどに改名されています。 現在のソースコードのコメントは、さっと見た感じ物理行はどちらの意味でも混在していて、正しく使われていない場所がたくさんある、みたいです。 ヘルプ上の記述もどれだけ正しいかは、神のみぞ知るって感じでしょう。

usagisita avatar Jul 11 '20 19:07 usagisita

すまんです。嘘つきました。 寝て起きたら旧Physicalという単位があったのを思い出して、ココ見たら指摘がありました。 修正当時、物理行=レイアウト行で合ってますね。

berryzplus avatar Jul 12 '20 06:07 berryzplus

サクラエディタの開発の歴史において、こういうパラダイムシフトがあったんではないかと思います。

①当初の設計思想: 目に見えるもの = 物理エンティティ。  つまり、物理行 = レイアウト行。

  ↓

②後年の設計思想: 「行」ってそもそも論理エンティティじゃね?  つまり、物理行 = ロジック行。

ぼく自身は後者よりの発想でとらえています。

berryzplus avatar Jul 12 '20 06:07 berryzplus

1は対応完了しました。 #1338 2はレビュー待ちっす。 #1344 3は対応が難しいのでちょっとずつやります。 4はそのうちやりますが、すぐには終わらんです。

berryzplus avatar Jul 14 '20 12:07 berryzplus