_X_y_z_のプログラム開発日記とか備忘録だとかCSSだとか。

主にプログラミング、備忘録、ウェブ。

Operaのフォントが汚く表示されてしまう問題について

,

Opera10.51によりフォント問題は解決しました。地雷でもなさそうなので普通にインストールして大丈夫な感じです。これに関する自分の記事


Opera10.50を使っていて、あるページにて日本語が汚い!っということに遭遇したことは一度はあるはずです。
今日はその問題を修正するユーザーJavaScript(以下ユーザーJS)を作りましたので紹介します。

以下がその問題を修正するユーザーJSです。
DefFontSet
右クリックなどしてユーザーJSのフォルダに保存してくださいね。

あ、一応ユーザーJSを使ったことない人にわかるように説明します。
使い方を紹介するのでユーザーJSなど細かいことについて知りたい人は各自検索してください:happy:

  1. メニューの設定→設定で設定ウィンドウを開く。 (Ctrl+F12が楽)
  2. 詳細設定のタブをクリック。
  3. コンテンツを選択。
  4. JavaScript オプション...を選択。
  5. ユーザー JavaScript フォルダを適当な所に指定する。ユーザーJS用のフォルダを作っておくといいと思います。
  6. 指定したフォルダにDefFontSet.jsを入れる。
  7. 後は普通に使えばOK.Operaの再起動などは必要ありません。


さて、さっきダウンロードしようとして、間違えてクリックした方はネタバレかもしれませんが、ソース公開。
// ==UserScript==
// @name			DefFontSet
// @author		_X_y_z_
// @namespace		http://yaxyz.web.fc2.com/
// @description	Opera10.50にて汚く表示されてしまう日本語を通常通りに修正します。
// @version		1.00
// ==/UserScript==

//Created by _X_y_z_.

(function () {
	document.getElementsByTagName("html").item(0).setAttribute("lang","ja");
})();

//End of file.


短いですよね。
しかしこれで解決してしまいます。最初コピーライトつけてましたが、どう考えてもつけるものじゃないと判断して、Createdにしました。
というか、物凄くユーザーJS苦労した。何で!?何で動かないの!?っていうのに遭遇しまくり。
コードの//End of file.がないと動きません。別に文字は何でもいいんですかね?セミコロンを10個だか20個くらいに置き換えても動作します。謎すぎます。ファイルサイズの問題なんでしょうか何なんでしょうか。…やっぱり謎です。
ちなみにこのユーザーJSの注意。ユーザーJSは仕様により、httpsのアドレスで動作しません。セキュリティですね。
一応、opera:config#User JavaScript on HTTPSのチェックを入れれば動作するにはするんですが、いちいち警告がうざいです。そこまでしなくてもって話な感じがします。

こっからはこの問題の解決に気づいたまでのどうでもいい話。
何はともあれ、原因はhtmlタグのlang属性の値に問題があったようです。
当初、この問題に遭遇した時は、cssのフォントの指定がいけないのかな?と思ってました。しかし、自分のウェブサイトでは、欧文フォントを結構使っていたのに、汚く表示されないことに気づき。
んで、今日…昨日ですね。なぜかlang設定に問題があることに気づきました。lang設定をしてないとOperaが自動的にenと判断するのでしょうか。試しに自分のサイトでenと書き換えてみたところ見事に汚くなりました。
よく見れば汚く表示されてしまうサイトはlangがenだったり指定していなかったり。そんなわけでDefFontSetは生まれたわけです。正直、ネームは適当です(笑)

ちなみに、このユーザーJSで何か問題が起きても責任はおいませんよ。
では、快適なOperaライフを。

CSS3で背景に文字を彫ったように見せるOpera10.51

Comments

Kazu Sparakazuspara Saturday, August 7, 2010 11:32:03 PM

Your Script that's just solved my problem, Thanx!

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies