現在、HTMLを作成しているのですが、
画面で入力した情報を取得して、
PDFに反映させるといったことをしています。

そこで、テキストエリアに入力したままを
PDFに出力する箇所があるのですが、
テキストエリアのcolsで指定したバイト数よりも
全角文字が多く入ってしまうので、
PDFと画面で若干ずれが生じています。

現在はcols88でフォントはMSゴシックを指定しています。
この場合ですと、1バイト文字()は88バイト(88文字)入るのですが、
2バイト文字(全角文字)だと94バイト(47文字)
入ってしまいます。
フォントはゴシックとほぼ同じ種類だったら
問題ないので、フォントで対応できる場合も
ご教授ください。
又、この問題はどうしようもない問題とご存知でしたら、
そちらもご教授ください。
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

「MS ゴシック」が、完全な等幅フォントではない(全角と半角の名場が異なる)ことが原因です。


ただし、フォントサイズが 1.5 の倍数の時には、完全な等幅になるようなので、フォントサイズを 12 あたりに設定してやるとよいでしょう。

 <TEXTAREA style="font:12px 'MS ゴシック'" cols="88"></TEXTAREA>

このようにしておけば、全角/半角が混じっても、88バイト分しか入らなくなります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

1.5の倍数時に等幅なるというので
問題が解決しました。
フォントサイズを9にすることにしました。
助かりました、ありがとうございます。

お礼日時:2002/02/25 19:24

こんにちは。

COLSとかかれているからには、<TEXTAREA>のほうですよね?
となると、MAXLENGTHで指定するわけにもいきませんね。
(しかも、MAXLENGTHの解釈はIEとNNで異なり、文字数だったりバイト数
だったりするので汎用性がないですし・・・)

試していないので申し訳ないのですが、<TT>でうまくいかないでしょうか?
TeleType、等幅フォントとするタグです。
プロポーショナルフォントを使うと、どうしても1バイト文字2つと2バイト文字1つ
の幅が同じにはならないと思いますので。

#フォントの見栄えが変わってしまいますが・・・

この回答への補足

ご回答ありがとうございます。

ご教授頂いた<TT>を以下のように試したのですが、
<TT>タグがきかないようです。
【試したHTML】
<TT><TEXTAREA></TEXTAREA></TT>

そこで、少し<TT>を試したところ
ラベル系の文字に効果が出るようでした。
しかし、
12345678901234567890
あいうえおかきくけこ
と<TT>タグ付のラベルで試したところ
若干ずれが生じるみたいです。

他の方法がございましたら、ご教授お願い致します。

補足日時:2002/02/25 15:45
    • good
    • 0

テキストエリアに、


 MAXLENGTH=n(入力可能な文字数)
 を追加して下さい。

<INPUT TYPE="TEXT" NAME="UID" VALUE='' SIZE=12 MAXLENGTH=8>
 で、半角で8文字まで入力可能になります。

この回答への補足

早速のご回答ありがとうございます。
また、質問の内容が曖昧ですいませんでした。

テキストフィールドであれば
MAXLENGTHを使用して制限が可能ですが、
テキストエリアだと無理だと思います。
また、MAXLENGTHの場合は、文字数になってしまうので、
全角文字でもMAXLENGTHで指定した文字数まで
入力可能になってしまいます。
今回はバイト数で制限したい状態です。
曖昧で申し訳ございませんが、
よろしくお願い致します。

補足日時:2002/02/25 14:51
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelの余白は固定できない?

Excel2000です。
印刷プレビューの余白が常に上下2.5、左右2、ヘッダー1.3で表示されます。水平垂直はチェックマークが付いていません。

すべて0.5に設定しても印刷は正常におこなえます。常時0.5で固定しておきたいのですが、
「新規作成」するたびに設定が元に戻ってしまいます。Excelは余白設定を固定できないのでしょうか?

「プリンタの余白を自動取得」という設定がどこかにあったような気がするのですが、これのせいでしょうか?
自動取得しなければ任意の数値で余白を固定できますか?

Aベストアンサー

> 常時0.5で固定しておきたいのですが、
> 「新規作成」するたびに設定が元に戻ってしまいます。Excelは余白設定を固定できないのでしょうか?

ご希望の余白などを設定したBookを自作のテンプレートとして分かりやすい名前を付けて、デスクトップなどに保存しておく方法をお勧めします。

保存した自作のテンプレートをダブルクリックすれば、ご希望のページ設定されたBookが起動します。

「定型ファイルをテンプレートとして保存するワザ」
http://www.nextone.jp/no060629/it/it02.html

上記URLはExcel 2003で説明されていますが、操作方法はExcel 2000でもほとんど同じです。
また、てんぷれーとの保存先が「Templates」フォルダに保存されるように説明されていますが、保存先は「Templates」フォルダ以外の場所でもOKです。

「Excelテンプレートの保存先」
http://oshiete1.goo.ne.jp/qa816891.html

QCSSで文字サイズを指定してもIEだけ全角文字が小さくならない

http://knowledge.livedoor.com/10266
↑の方と同じ状況のようなのですが、

全部のブラウザで文字サイズを同じくらいにしたいのですが
IEだけ全角文字が小さくならないのです。
http://www.koikikukan.com/archives/2006/11/17-015033.php
を参考にして
*:first-child+html .honyarara { で、
他のブラウザとは別にしてIE用の文字サイズを指定しても
_font-size;で指定しても
半角英数字だけがサイズが変わり、全角文字が小さくなりません。

サイトはhttp://artinkochi.flier.jp/artinfo/です。
どなたかご教授頂けると幸いです。

Aベストアンサー

おそらくフォントファミリーのせいだと思います。

%で指定するとある程度はサイズを調整出来るはずです。

firefoxで90%のときにieで84%とかで同じになったりすると思います。

QExcel2010の行や列の固定

Excelで行や列を固定する方法について質問させていただきます。
例えばBの列を固定したい場合、Cの列全体を選択した状態で「ウィンドウ枠の固定」を選択すると固定することができますが、この方法だとAの列とBの列が固定されてしまいます。
Aの列を固定せずBの列のみ固定する方法はありませんでしょうか。
初歩的な質問で申し訳ありませんが、お答えいただければ幸いです。

Aベストアンサー

「ウィンドウ枠の固定」でなく、「ウィンドウの分割」を利用されたら如何かと。設定法は同じだけど、左(右)ウィンドウに這入ると右(左)ウィンドウが固定されます。左右2分割の場合ですね。
上下2分割、上下左右の4分割も出来る筈。

添付図は Excel 2013 の場合です。

Qmeta nameに入れる文字は、全角2文字?

<meta name="description" content="">
<meta name="keywords" content="">

の中に入れる文字は、全角2文字(4byte)のほうがヒットしやすいって本当ですか?


私が入れたい文字は、「英文字3文字スペースカタカナ7文字」なのですが
これだとロボットは拾ってくれないのでしょうか?

Aベストアンサー

> 全角2文字(4byte)

現在、主流の文字コードUTF-8では、いわゆる「全角文字」は3byteですから、「全角2文字」は「6byte」です。
「全角2文字(4byte)のほうがヒットしやすい」なんてことを言っている時点で、この情報は眉唾物です。

さらに、「meta keywords 検索エンジン」で検索してください。
現在、meta keywordsで順位が変わることはないそうです
http://googlewebmastercentral.blogspot.jp/2009/09/google-does-not-use-keywords-meta-tag.html
http://searchengineland.com/yahoo-search-no-longer-uses-meta-keywords-tag-27303

Qウィンドウ枠の固定@Excel

超初歩的な質問です。Excelでウィンドウ枠の固定がうまくいきません。1列だけを固定したいのに、周り3列10行くらいが巻き添えになってしまいます。そこの列を選択してから「ウィンドウ枠の固定」をクリックしたのですがダメでした。
やり方を教えてください。

Aベストアンサー

(1)列を固定(例A,B固定)
(2)行を固定(例 第1,2,3行固定)
(3)列と行を固定(例A,B列と第1,2,3行固定)
の3つができますが
(1)がやり方が正しくないため、(3)になっているのでは。
ーー
(1)はC1セルを選択して、ウインドウ枠の固定(隣列の一番上)
(2)はA4をセル選択して、ウインドウ枠の固定(隣行の一番左)
(3はC4をセル選択して、ウインドウ枠の固定(交差せるの1つ外側)
のセルで、ウインドウ枠の固定の操作をします。
ーーー
さらに応用で
第14行目、15行目を固定したいとき(そして1-13行目は見たくないとき、画面節約や、見易いので)、ウインドウ枠を固定せず、スクロールして行って、一番上の行が第14行目になるよう出した状態で、A15を選択して、ウインドウ枠の固定をする。
列も同じ。
ーー
(1)、(2)、(3)の状態の相互変更は、一旦現状の固定を解除してから、改めて行う必要アリ。

QHTMLで全角文字と半角文字を2:1で表示させる方法について。

HTMLで全角文字と半角文字を2:1で表示させる方法について。

お世話になります。

とある業務でいままで自前で描画していた画面をHTMLで表示することになりました。
この際実際に表示すると半角文字が全角の1/2より大きいため画面にズレが出てしまいます。

HTMLの記述(CSSを利用しても可)で全角文字と半角文字を2:1にすることはできますでしょうか?

出来るのであればサンプルを提示いただけると助かります。

以上、よろしくお願いいたします。

Aベストアンサー

なら、
>etter-spacing:0.1em;
 をetter-spacing:0em;にしたら???
 半角だと文字数が増えるので、当然etter-spacingを合計した値は大きくなる。

 ですが、できれば、そんなことに影響されないようページ作りをしてください。

QExcelの計算結果を固定したい

こんにちは。
Excelのシートに計算式が入っており、その結果を固定したいです。
計算式の結果を固定する方法でセルを選択後、F2→F9で固定できることはわかったのですが、
これでは1つのセルずつしか固定されません。
複数セルを選択してF2→F9を実行しても1つずつしか固定されませんでした。
そこで、シートごとあるいは複数セルごとに計算結果を固定できる方法はありませんか?
よろしくお願いします。

Aベストアンサー

シートを変えるのでしたら、シート全体を選択して「コピー」し、別のシートのA1セルがアクティブセルの状態で「形式を選択して貼り付け」で「値」にチェックをして「貼り付け」ます。

Q【スタイルシート】 半角と全角で異なるフォントを指定できますか?

スタイルシートでフォントを指定しています。
半角英数はArial,全角はHG丸ゴシックM-PROを使いたいと考えています。

font familyの指定で、
Arialを最初に記載すると、全角がなぜかMS Pゴシックで表示されてしまいます。
HG丸ゴシックM-PROを最初に記載すると、半角英数もHG丸ゴシックM-PROで表示されてしまいます。

スタイルシートを使って、全角と半角英数のフォントを別のものに指定することはできないのでしょうか?

Aベストアンサー

<p>愛のことを英語で
<span class="nanraka">love</span>
といいます。
</p>

みたいに、1バイト文字に何らかの論理的意味づけを行なう。
すべての1バイト文字を<span class="nanraka">でくくる。
bodyにはHG丸ゴシックM-PROを指定し
span.nanrakaにArialを指定する

これしかないのでは?

デザインが先行するHTMLは本末転倒だけど
<span>の意味づけがしっかりしていれば許容範囲かな。

QExcel  で2つウインドウ枠の固定はできますか?

Excel で横の列のウィンドウ枠の固定は出来たのですが、もう一つ縦のウィンドウ枠の固定もしたいのですが、、

教えて下さい。

Aベストアンサー

一度、枠の固定を解除してください。
横方向でA:C列、縦方向で1:4行を固定する場合はD5(固定位置の右下のセル)を選択して
「ウィンドウ」「ウィンドウ枠の固定」で設定できます。

Q携帯でテキストエリアを表示させるには?

「<textarea cols=10 rows=2>あいうえお</textarea>」このタグを携帯で見ると、表示されないorタグがそのまま表示されてしまいます。
携帯から見ても、PCで見た時と同じテキストエリアで表示させるには、どこに手を加えればいいかアドバイスをよろしくお願いします。

Aベストアンサー

属性値のダブルクォーテーションがないのが原因ではないでしょうか?

<textarea cols="10" rows="2">あいうえお</textarea>

これで実行してみてください。

参考URL:http://www.htmq.com/html/textarea.shtml


人気Q&Aランキング

おすすめ情報