[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

TOFU on 1st shift-jis *.c



            こんにちは 伊藤@豊田織機 です。


 お世話になっております。
 先週の日曜日にnetinstallを使ってUser-Agent:な環境で使わせて頂いており
 ます。
# その前からsrc compileして女郎花として使っています

 さて、今回のversionからでは無いと思いますがBDFフォント表示設定で
 Meadowを起動直後にSHIFT-JISコードのソースを開くと日本語(ソースコメン
 トとか)部分が必ず豆腐になってしまう様です。

 以前から、たまにこの現象に出くわしていましたが、一度Meadowを立ち上げ
 直し、C-h hで『こんにちは』の多国語を表示させれば、以降はSHIFT-JISの
 ソースでも豆腐にならないので、それでシノイでいたのですが…
 ちょっと真剣に試してみたら上記の様な結果にたどり付来ました。

 1.試した事
 a) .emacs(通常のはjunet-unix)と.emacs.sj(.emacsをコピーしてC-c RET f
    でシフトJISに変換した物)を作り、Meadow立ち上げ直後にC-xC-rで読み出
    してみる。
    どちらも正常に表示されました。
 b) main_euc.c(euc-japan)とmain_sj.cを作りMeadow立ち上げ直後にC-xC-rで
    読み出し。
    shift-jisの方を最初に読み出すと豆腐になります。その後、main_euc.c
    を開いても豆腐です。C-h hも豆腐。
    main_euc.cを開くと豆腐にはなりません。その後、main_si.cを開いても
    豆腐では無くちゃんと表示されています。


 2. 以下、私の環境で問題がありそうな? ところを記載させて頂きます。
 a) Meadow2のnetinstall
    ・setup-ja.exeを落とし→起動→まずはローカルにダウンロード
    ・上記ダウンロード完了のち再びsetup-ja.exeを起動させ→[Exp]選択で
      intlfontのみskipで[Exp]でインストール(install先もinstallerの通り
      c:\Meadow)
    ・intlfontはfont-setup.elcを使いたかったので別途c:/Meadow/fonts/に
      intlfonts-1.3を展開

 b) 私の.emacsで関係ありそうなところ
    主に、言語設定、cc-mode関係、フォント設定関係を抜粋してみました。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; coding-system
;;
(set-language-environment "Japanese")
(set-default-coding-systems 'japanese-shift-jis-dos)
;(set-default-coding-systems 'euc-japan-unix)
(setq default-file-name-coding-system 'japanese-shift-jis-dos)
;; for gdb
;(set-default-coding-systems 'japanese-shift-jis-unix)
;(setq default-file-name-coding-system 'japanese-shift-jis-unix)
;; オープニングメッセージを表示しない
;(setq inhibit-startup-message t)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; auto-fill
;; M-qで広域のインデントが出来る
;;
;; ??-modeになった時にはauto-fill-on
(add-hook 'text-mode-hook 'turn-on-auto-fill)
(add-hook 'c-mode-hook 'turn-on-auto-fill)
(add-hook 'c++-mode-hook 'turn-on-auto-fill)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ソース修正に関する設定
;; タブ文字の幅を変更
;; cc-mode時以外のTAB幅設定
(setq-default tab-width 4
              ;; TABをspaceで置き換える
              indent-tabs-mode nil)

;; cc-mode-5.25(cc-mode.texiのsample .emacsより抜粋)
(defun my-c-mode-common-hook ()
  ;; switch case文のインデントを変更
;  (c-set-offset 'case-label '+)
  ;; c-modeでもTABが効く様に設定
  (setq c-tab-always-indent nil)
  ;; TABの幅設定
  (setq tab-width 4
        ;; TABをspaceで置き換える
        indent-tabs-mode nil
        ))
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; フォント関係
;
;; 12x10 bdf font
(w32-add-font
 "12x10"
 '((strict-spec
    ((:char-spec ascii :height any)
     (bdf-font "c:/Meadow/fonts/12x10/k6x10.bdf"))
    ((:char-spec ascii :height any :weight bold)
     (bdf-font "c:/Meadow/fonts/12x10/k6x10.bdf"))
    ((:char-spec ascii :height any :weight normal)
     (bdf-font "c:/Meadow/fonts/12x10/k6x10.bdf"))
    ((:char-spec ascii :height any :weight  bold :slant italic)
     (bdf-font "c:/Meadow/fonts/12x10/k6x10.bdf"))
    ((:char-spec japanese-jisx0208 :height any :weight any :slant any)
     (bdf-font "c:/Meadow/fonts/12x10/k12x10.bdf")
     ((encoding-type . 0) (dim . 2))))))
;
;; font-setup.el(http://www.fan.gr.jp/~ring/doc/font-setup.html)
(when (require 'font-setup nil t)
  (setq font-setup-bdf-dir "C:/Meadow/fonts/intlfonts-1.3")
  (font-setup "東風ゴシック" 1)
  (font-setup "MS ゴシック" 49 t)
  (font-setup "東風明朝" 1 t)
  (font-setup "MS 明朝" 17 t))
;
;;; frame parameter
(setq default-frame-alist
      (append (list '(foreground-color . "black")
;                    '(menu-bar . nil) うまく動かんので↓で個別に設定
                    '(background-color . "cornsilk")
                    '(border-color . "red")
                    '(mouse-color . "mediumpurple")
                    '(cursor-type . box)
; Meadow 1.14 から、カーソルの形(cursor-type)を 5 種類の中から選べる
; ようになっています。
;   - box             : 黒塗りの四角形(従来型)
;   - caret           : 点滅する box (solid caret)*デフォルト*
;   - checkered-caret : 点滅する市松模様の四角形(gray caret)
;   - bar             : 細い縦棒
;   - hairline-caret  : 点滅する bar 
                    '(cursor-color . "black")
;                    '(vertical-scroll-bars .nil)
;; for 12x10(home)
;                    '(width .  90)
;                    '(height . 53)
;                    '(left . 150)
;                    '(top . 1)
;                    '(font . "12x10")
;; for MS-16dot(office)
                    '(width . 120)
                    '(height . 67)
                    '(left . 600)
                    '(top . 5)
;                    '(font . "東風ゴシック-16")
                    '(font . "MS ゴシック-16")
                    )
              default-frame-alist))
;; スクロールバー消去
(scroll-bar-mode nil)



 以上、長文申し訳ありませんが、宜しく解決の糸口をご指示願えれば幸いで
 す。m(__)m

              TOYOTA INDUSTRIES CORPORATION
       /_/_(_)     Toru Ito
        / / Office mailto:toru.ito.aa@xxxxxxxxxxxxxxxxxxxxxxxx