Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
KENCHjp opened this issue Jul 7, 2020 · 9 comments
Open

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

KENCHjp opened this issue Jul 7, 2020 · 9 comments
Labels
document ドキュメント OSDN OSDN

Comments

@KENCHjp
Copy link
Member

KENCHjp commented Jul 7, 2020

以下、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対応は現時点では古く、また組み文字・ゼロ幅・制御文字等の対応が不完全なので、
それらが含まれる絵文字や記号などが入ると取得幅・表示幅が不正確になりやすいが、ユーザーからはわかりにくいため。

@k-takata k-takata changed the title OSDN転載 OSDN転載: ヘルプファイルの不具合 Jul 7, 2020
@k-takata k-takata added the document ドキュメント label Jul 7, 2020
@berryzplus
Copy link
Contributor

1 は修正PR作りました。

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

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

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

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

@k-takata
Copy link
Member

k-takata commented Jul 7, 2020

関連: #326

@KENCHjp
Copy link
Member Author

KENCHjp commented Jul 9, 2020

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

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

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

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

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

@berryzplus
Copy link
Contributor

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

@berryzplus
Copy link
Contributor

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

過去の修正履歴にこんな記述がありました。

・説明中の表記ゆれの修正<br>
物理行 → レイアウト行<br>

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

@usagisita
Copy link
Contributor

ちょっと調べて見ました。
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などに改名されています。
現在のソースコードのコメントは、さっと見た感じ物理行はどちらの意味でも混在していて、正しく使われていない場所がたくさんある、みたいです。
ヘルプ上の記述もどれだけ正しいかは、神のみぞ知るって感じでしょう。

@berryzplus
Copy link
Contributor

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

@berryzplus
Copy link
Contributor

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

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

  ↓

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

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

@berryzplus
Copy link
Contributor

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

@k-takata k-takata added the OSDN OSDN label Aug 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
document ドキュメント OSDN OSDN
Projects
None yet
Development

No branches or pull requests

4 participants