みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
欧文のみ、フォントと、フォントサイズ、文字の高さ(和文フォントと高さが合うように調整したい)を
変更することはできますか?
入力確定後に変更する形でもいいです
Offline
文字の高さ以外はできないことはないと思いますが、
処理が重すぎてその実用性は甚だ疑問。
一文字づつ取り出して、半角文字判定し、真なら文字書式変換、
この処理を最後の文字まで繰り返します。
・バイト数計算式:Length(検証文字 & Filter(検証文字;RomanZenkaku(KanaZenkaku(検証文字))))
・半角文字判定式:Not(Length(検証文字 & Filter(検証文字;RomanZenkaku(KanaZenkaku(検証文字))))-1)
・書式設定関数 :TextFont(検証文字;フォント名)、TextSize(検証文字;フォントサイズ)
Offline
「欧文」
が半角英数とするのなら、
Code ( "z" ) = 122
が最大ですから、これで判定できます。
Offline
以下のような式を作っておくとか。
※表計算ソフトを使えば手間なく連番を追加出来ます。
Let(
fn="Courier"
;
Substitute ( フィールド ;
[Char(65) ; TextFont ( Char (65) ; fn )]
; [Char(66) ; TextFont ( Char (66) ; fn )]
; [Char(67) ; TextFont ( Char (67) ; fn )]
; [Char(68) ; TextFont ( Char (68) ; fn )]
; [Char(69) ; TextFont ( Char (69) ; fn )]
; [Char(70) ; TextFont ( Char (70) ; fn )]
; [Char(71) ; TextFont ( Char (71) ; fn )]
.....
; [Char(90) ; TextFont ( Char (90) ; fn )]
; [Char(97) ; TextFont ( Char (97) ; fn )]
.....
)
)Last edited by qb_dp (2018-03-07 10:21:04)
Offline
フォント換えだけで、簡略さを優先させるなら、こんな方法も、
・英文フォントをフィールド指定しておけば、
・非英文文字は自動的にデフォルトの和文フォントに切り替わって表示します。
Offline
計算式なら
Let ( [ $t = テキスト ;
$l = Length ( $t ) ;
$c = 0 ;
$tt = "" ;
$f = "Case ( $c = $l ; $tt ;
Let ( [ $c = $c + 1 ;
$m = Middle ( $t ; $c ; 1 ) ;
$tt = Case ( Code ( $m ) ≤ 122 ; $tt & $mの書式設定 ; $tt & $m ) ] ;
Evaluate ( $f ) ) )" ] ;
Evaluate ( $f ) )
文字数の制限がありますが、何文字かは分かりません-_-
文字数が多いのならこの考えをスクリプトで回せばいいでしょうか。
Last edited by チポ (2018-03-07 13:43:37)
Offline
Pages: 1
[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 554.97 KiB (Peak: 582.31 KiB) ]