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

イントネーション欄の文字横幅をそろえる #792

Merged
merged 5 commits into from
May 2, 2022

Conversation

nebocco
Copy link
Contributor

@nebocco nebocco commented Apr 23, 2022

内容

以前 Split の当たり判定を広げる修正を行いました (#772) が、その際に生じていた

  • 複数文字のモーラ(「シャ」など)が改行されてしまう
  • イントネーションタブとアクセントタブで文字とスライダーの表示位置がずれている

という二つの問題を修正しました。

関連 Issue

fix #777
ref #772

スクリーンショット・動画など

修正前画像は #777 を参照してください。

修正後

image

その他

文字の overflow について

改行されないように表示している点について、 white-space: nowrap; によって無理やり狭いスペースに押し込めている都合上、特に複数文字のモーラの右側部分に「文字が表示されているが当たり判定としては split」というスペースができてしまっています。

image
(「ショ」の直後の split にカーソルを合わせています。)

  • 読みを変更する場合どの文字を押してもいい
  • ハイライトでどちらの機能が起動するかわかる

ことから緊急性は低いと思われますが、余裕があれば修正したほうが良いかもしれません。

文字の中央揃えについて

text-align: center はしているものの、overflow していることにより文字がグリッド先頭部分ぞろえになってしまっています。そのため、スライダーに対して複数文字モーラの表示位置が右に若干ずれています。これを中央に表示できれば、表示は両側にはみ出ることになるので、上で述べた当たり判定に関しても被る量が減り、使用感が改善されるかもしれません。

@nebocco
Copy link
Contributor Author

nebocco commented Apr 23, 2022

ver 11.4 時点では 2 文字でもスライダーが綺麗に中央になってますね
どうやら問題は text-cell の横幅を減らしたことのようです。前までは 30px あり二文字でも入るサイズだった、という単純な理由ですね
.text-cell の中にもう一つ div を入れて、外側を relative、内側を absolute として無理やり中央に表示させる、みたいなことも可能だとは思いますが、どうしましょう……

@Hiroshiba
Copy link
Member

プルリクエストありがとうございます!!
良さそうです!!

.text-cell の中にもう一つ div を入れて、外側を relative、内側を absolute として無理やり中央に表示させる、みたいなことも可能だとは思いますが、どうしましょう……

すぐできそうであればお願いしたいです・・・!
難しそうであれば、まあそこまで気にならないので大丈夫かなーと思いました。

splitの当たり判定が見た目とずれる点も仕方ないと思いました!

あ、これもそこまで気にならないのですが、二文字の隣のsplitにカーソルを当てると文字が隠れちゃいますね。
z-indexを適当に指定すれば雑に解決できるかも・・・?

image

@nebocco
Copy link
Contributor Author

nebocco commented Apr 27, 2022

z-index 指定して文字が上側に表示されるようにします。
中央表示についてはこのようなイメージです。(上から順に現行のリリース版の状態、以前の修正によって生じた状態、改善案です)
https://codepen.io/nebocco/pen/PoErjWq

@nebocco
Copy link
Contributor Author

nebocco commented Apr 29, 2022

上記3コミットは順に

  • .text-cell 内の文字を中央揃えに
  • getHoveredClass の定義を変更し、bool 値を返すように変更
  • .text-cell の文字が最前面に来るよう z-index を定義

しています。

getHoveredClass について

これまで .text-cell.text-cell-hovered は排他的に与えられるよう運用されていましたが、その実両者の CSS はほとんど同じ値が定義されていました。そこで .text-cell は常に与えることとし、hover されているものには追加で .text-cell-hovered を与え、CSS の記述を明確化しました。

改良後:
センタリングされていることが分かりやすいようモーラの文字を書き換えています
スクリーンショット 2022-04-29 153130

split にポインタを合わせたとき
スクリーンショット 2022-04-29 153051

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!!

良いと思います!!!

@Hiroshiba Hiroshiba merged commit 8accdfe into VOICEVOX:main May 2, 2022
coolkiwiii added a commit to coolkiwiii/voicevox_EN that referenced this pull request May 15, 2022
commit 9d742ac
Author: Hiroshiba <hihokaruta@gmail.com>
Date:   Mon May 16 01:13:58 2022 +0900

    エンジンのバージョンを0.12.4-previewに (VOICEVOX#809)

commit 4ffd776
Author: kantas-spike <101532773+kantas-spike@users.noreply.github.com>
Date:   Sat May 14 04:12:08 2022 +0900

    テキストの「読み込み」及び「繋げて書き出し」で「キャラ名(スタイル名)」を利用可能に (VOICEVOX#805)

    * テキストの「読み込み」及び「繋げて書き出し」で「キャラ名(スタイル名)」を利用可能に

    * StyleInfo型のstyleNameが未定義時は"ノーマル"をテキスト出力する

commit f40f4ad
Author: Hiroshiba <hihokaruta@gmail.com>
Date:   Wed May 11 01:06:36 2022 +0900

    キャラ数が多いときにスクロールバーを表示する (VOICEVOX#749)

    * キャラ数が多いときにスクロールバーを表示する

    * .transparent-backdropクラス追加、seamless除去

    * 追加し忘れ

commit c3d67b1
Author: Gray Suitcase <41382894+PickledChair@users.noreply.github.com>
Date:   Wed May 11 01:04:48 2022 +0900

    Fix: LinuxとmacOSの配布パッケージを動作可能にする (VOICEVOX#798)

    * ビルド後はappDirPathにある.envを読みに行く

    * .envのパス指定に関するコメントを追加

commit 4157aec
Author: kchop <whelmaze@gmail.com>
Date:   Wed May 11 01:02:47 2022 +0900

    書き出しファイル名をカスタマイズ可能にする (VOICEVOX#789)

    * 設定値の型等に項目追加

    * 与えたパターンからファイル名が決定できるようにした

    * 値を取ってくるのとファイル名のために加工するメソッドを分ける

    * utilityへ移動

    * ツールチップが特定条件でしか出てこなかったのを修正

    * コンポーネントの実装

    * スタイルの調整

    * 重複し得るファイル名指定で一括出力した場合に上書きされないようにする

    * 日付も挿入可能にする

    * デバッグ出力の削除

    * 連番を必須にしつつコンポーネントを多少リファクタ

    * テストの修正

    * Revert "重複し得るファイル名指定で一括出力した場合に上書きされないようにする"

    This reverts commit 8a1be6b.

    * サンプルテキストの修正

    * テキストにタグ文字列を含めたとき悪いことができないようにする

    * 変数名などのリファクタ

    * 別名つけただけの型を削除

    * 表示される文言の調整

    * 出力ファイル名に$を使えなくしてマッチ対象の問題をちょっと強引に解決

    * nextTickを使う

    * 日付がyyyymmddじゃなかった問題を修正

    * 型定義をシンプルに

    * styleNameタグにかっこを含めない

    * 初回に設定ダイアログを開いたときデフォルト値をフォームに入れるように

commit fc04a18
Author: madosuki <yurikasamaaikatsu@gmail.com>
Date:   Mon May 9 02:34:46 2022 +0900

    「エンジンを再起動する機能」を機能するように修正 (VOICEVOX#800)

    * add detectNvidia function

    * follow to menu bar

    * remove no longer a variable

    * run fmt

    * fix typo

    * remove utils.ts and some changes in background.ts

    * change message box type and detail, and change behaviour of setOnLaunchModeItemClicked

    * recreate package-lock.json using node 12.18.2

    * re recreate package-lock.json using node 12.18.2 and npm 7.20.5

    * recreate package-lock.json using node 12.18.2 and npm 6.14.5

    * recreate package-lock.json using node 12.18.2 and npm 7.20.3

    * fix conflict

    * fix feature of restart engine, add a argument

commit 9f8cf04
Author: kantas-spike <101532773+kantas-spike@users.noreply.github.com>
Date:   Thu May 5 03:13:57 2022 +0900

    全テキスト欄の文章をキャラ名とともに一括してテキスト書き出す機能 (VOICEVOX#787)

    * 全テキスト欄の文章をキャラ名とともに一括してテキスト書き出す機能を追加

    * 一括して出力することがわかるようにメニューの文言を修正

    * "つなげて書き出す"ことがわかるように関数とメッセージの名称を修正

    connectAndExportTextで名称を統一
    * メニューハンドラ名 exportTextFile => connectAndExportText
    * ダイアログ名 exportTextFileWithDialog => connectAndExportTextWithDialog
    * メッセージ名 EXPORT_TEXT_FILE => CONNECT_AND_EXPORT_TEXT

    * 未定義判定の誤り修正

    * スタイルIDとスピーカー名の対応付けを修正

    デフォルトスタイルIDではなく全てのスタイルIDとスピーカー名を対応付ける

    * コードフォーマット実施漏れを修正

commit 8accdfe
Author: nebocco <73807432+nebocco@users.noreply.github.com>
Date:   Tue May 3 03:07:09 2022 +0900

    イントネーション欄の文字横幅をそろえる (VOICEVOX#792)

    * fix: .q-slider width

    * fix: centered text in .text-cell

    * fix: getHoveredClass -> isHovered

    * fix: .text-cell-inner { z-index: 10; }

    * fix: CSS

commit e1ab04c
Author: MT <mt224244@gmail.com>
Date:   Tue May 3 01:57:29 2022 +0900

    .envのDEFAULT_ENGINE_INFOSを改行して定義 (VOICEVOX#794)

    * ➕ dependenciesにdotenvを追加

    * 🔧 DEFAULT_ENGINE_INFOSを改行して定義

    * 🩹 開発時にdotenvが動いていないっぽかったので修正

commit 2088b1e
Author: MT <mt224244@gmail.com>
Date:   Thu Apr 28 01:05:40 2022 +0900

    lodash.debounceを削除 (VOICEVOX#795)

    * ♻️ debounce関数はquasarにもあるので、そちらを使用するよう変更

    * ➖ lodash.debounceを削除

commit f48c89b
Author: madosuki <yurikasamaaikatsu@gmail.com>
Date:   Wed Apr 20 17:43:30 2022 +0900

    タイトルバーのモード表示が固定化されているのを修正 (VOICEVOX#791)

    * add detectNvidia function

    * follow to menu bar

    * remove no longer a variable

    * run fmt

    * fix typo

    * remove utils.ts and some changes in background.ts

    * change message box type and detail, and change behaviour of setOnLaunchModeItemClicked

    * recreate package-lock.json using node 12.18.2

    * re recreate package-lock.json using node 12.18.2 and npm 7.20.5

    * recreate package-lock.json using node 12.18.2 and npm 6.14.5

    * recreate package-lock.json using node 12.18.2 and npm 7.20.3

    * fix conflict

    * become computed

commit 3641a4b
Author: madosuki <yurikasamaaikatsu@gmail.com>
Date:   Sun Apr 17 13:54:53 2022 +0900

    設定に入れたペースト時の挙動を変える項目を「保存」から「操作」に移動 (VOICEVOX#781)

    * add detectNvidia function

    * follow to menu bar

    * remove no longer a variable

    * run fmt

    * fix typo

    * remove utils.ts and some changes in background.ts

    * change message box type and detail, and change behaviour of setOnLaunchModeItemClicked

    * recreate package-lock.json using node 12.18.2

    * re recreate package-lock.json using node 12.18.2 and npm 7.20.5

    * recreate package-lock.json using node 12.18.2 and npm 6.14.5

    * recreate package-lock.json using node 12.18.2 and npm 7.20.3

    * fix conflict

    * move splitTextWhenPaste from saving to 操作

    * add restore from store feature

    * change place of process of init splitTextWhenPaste

    * move init process to Home.vue's onMounted

    * move process of initial splitTextWhenPaste, at Home.vue to store/index.ts

    * fix conflict

    * Revert "fix conflict"

    This reverts commit 7f6cd34.

    * refix conflict

commit 5a37c37
Author: kchop <whelmaze@gmail.com>
Date:   Sat Apr 16 20:02:44 2022 +0900

    ウィンドウ位置・splitterの位置を記憶できるようにする (VOICEVOX#782)

    * electron-window-stateのインストール

    * windowの位置を記憶するように

    * splitterの位置をとりあえず保存・復元できるようにする

    * 最大化状態の復元時、vuexのstoreにも反映する

    manageメソッドの中で最大化状態の復元を行っているので、maximizeハンドラを追加してからでないとstoreのisMaximizedがfalseのままになる

    * 設定ファイル書き換えで異常値が入り得るケースの対策

    * 共通部分の切り出し

    * 書き込みもawaitしておく

    * set時の型が間違っていたので修正

    * viewから直接window.electronを呼ぶのをやめる

    * テスト修正

    * typo修正

commit 35b00ea
Author: 南風 <cyatarow@outlook.com>
Date:   Sat Apr 16 16:54:46 2022 +0900

    DirectMLへの対応 (VOICEVOX#788)

    * Update build.yml

    * directmlの記述を追加

    * DirectMLの記述をさらに追加

    * 微調整

    VOICEVOX#775 (comment)

    * 1個修正忘れ

    VOICEVOX#788 (review)

commit 15763fc
Author: Haruki Tazoe <40142697+jdkfx@users.noreply.github.com>
Date:   Fri Apr 8 22:49:49 2022 +0900

    設定画面の項目の詳細情報をヘルプとして表示する (VOICEVOX#780)

    * パラメータの引き継ぎの詳細表示アイコンを追加

    * 書き出し先を固定についての詳細表示アイコンを追加

    * 上書き防止の詳細表示アイコンを追加

    * txtファイルを書き出しの詳細表示アイコンを追加

    * labファイルを書き出しの詳細表示アイコンを追加

    * 音声をステレオ化の詳細表示アイコンを追加

    * プリセット機能の詳細表示アイコンを追加

    * 疑問文を自動調整の詳細表示アイコンを追加

    * 利用状況のデータ収集の詳細表示アイコンを追加

    * 再生位置を追従の詳細表示アイコンを追加

    * エンジンモードの詳細表示アイコンを追加

    * 文字コードの詳細表示アイコンを追加

    * 分割の挙動の詳細表示アイコンを追加

    * 再生デバイスの詳細表示アイコンを追加

    * 音声のサンプリングレートの詳細表示アイコンを追加

commit 8aa6157
Author: kchop <whelmaze@gmail.com>
Date:   Fri Apr 8 22:47:08 2022 +0900

    選択中のアクセント句をリセットする機能を追加 (VOICEVOX#779)

    * 選択中のアクセント句のみリセットするコマンドとショートカットキー追加

    * 全体リセットのショートカットキー

    * エラーが起きたことが分からなくなるのでここでcatchしない

commit b641f4b
Author: madosuki <yurikasamaaikatsu@gmail.com>
Date:   Fri Apr 8 22:43:51 2022 +0900

    Fix UNLOCK_UI (VOICEVOX#774)

    * add detectNvidia function

    * follow to menu bar

    * remove no longer a variable

    * run fmt

    * fix typo

    * remove utils.ts and some changes in background.ts

    * change message box type and detail, and change behaviour of setOnLaunchModeItemClicked

    * recreate package-lock.json using node 12.18.2

    * re recreate package-lock.json using node 12.18.2 and npm 7.20.5

    * recreate package-lock.json using node 12.18.2 and npm 6.14.5

    * recreate package-lock.json using node 12.18.2 and npm 7.20.3

    * fix conflict

    * add process of check whether 0 for state.uiLockCount

    * add console.warn

    * add eslint disable line

    * fix

commit be239a1
Author: Hiroshiba <hihokaruta@gmail.com>
Date:   Fri Apr 8 14:19:23 2022 +0900

    .envのエンジンへのパスは\区切りではなく/区切りだとわかりやすくする (VOICEVOX#778)

    * .envのエンジンへのパスは\ではなく

    * Update .env.production

    * Update README.md

commit 09c1a18
Author: Hiroshiba <hihokaruta@gmail.com>
Date:   Tue Apr 5 19:56:39 2022 +0900

    テキスト読み込み時にデフォルトスタイルが適用されるように変更 (VOICEVOX#765)

commit 64044d1
Author: kchop <whelmaze@gmail.com>
Date:   Mon Apr 4 00:36:47 2022 +0900

    アクセントからイントネーションを再設定する機能 (VOICEVOX#776)

    * FETCH_MORA_DATAで取ってきたaccentPhrasesでまるっと上書きするactionを追加

    * ショートカットキーで実行できるように

    * 何をリセットするのか明確にする

    * FETCH_MORA_PITCHを追加してそちらを使うように

    * デフォルトショートカットキーをRに変更

    * FETCH_MORA_DATAを使い音素長もリセットする

    * 長さも変更することを示すためaction名の変更
y-chan added a commit to y-chan/voicevox that referenced this pull request Jun 25, 2022
Hiroshiba pushed a commit that referenced this pull request Jun 26, 2022
* fix design and remove bad css

* apply changes of #772 and #792

* remove unused import
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

横幅を広げないようにしつつ、splitの当たり判定を大きくする
2 participants