>> Delete No. 50 article
No. 모질라 실전 한글사용

등록 1999-05-16 19:10:00     조회 4
이름 박정범    

		저는 초보라 왜 그런지 자세히 설명해 드릴 수 없습니다.단지 어디서 무얼 가져다가 어떻
게 했는지만 말씀드리겠습니다.환경은 알짜 5.2이고 커널은 2.0.36입니다.glibc-2.0.7-29이고요ne
tscape는 <a href="ftp://ftp.bora.net/pub/Linux/alzza/alzza-5.2/i386/devel/RPMS">netscape4.51</a>의 넷스케이프 4.5
1-2kr을 다운로드받아 설치했습니다.(물론 4.08도 되는 것을 확인했습니다.그리고 입력기는 h
anIM을 <a href="http://www.mizi.co.kr">www.mizi.co.kr</a>에서 폰트와함께 다운로드 받아 설치했습니다.
다음은 한글로케일을 가져와야 합니다.기본으로 깔려있는게 locale-ko-2.3이 깔려 있을겁니다
.궁금하시면 `rpm -q locale-ko`로 확인할 수 있습니다.여기서 -q는 버전을 그리고 -ql을 깔린 목
록을 알수 있는 옵션입니다.저는 이 로케일을 `rpm -e locale-ko`로 지우고저는 <a href=ftp://ftp.bor
a.net/pub/Linux/alzza/alzza-5.2/i386/devel/wcsmbs/RPMS/>wcsmbs-locale-0.4.11-4</a>를 설치하였습니다.물론 local
e-ko도 가능한지는 확인못했습니다. 초기에 안되는 가운데 이것저것 시도하면서 지운것이
니 되는 것을 확인한 사람은 아래에 쓰레드를달아 주십시요..다음에는 흔히 브로큰로케일
이라고들 말하는 걸 설치해야 합니다.그리고 xwcsmbs를 설치했습니다. 이것들은 박원규님의 
xwcsmbs를 설치했습니다. 이것은 <a href=http://chem.skku.ac.kr/~wkpark/linux/xwcsmbs.html>박원규님의 홈
페이지의 관련페이지</a>에서 libxwcsmbsv0.4e즉 xwcsmbs-19990514.tar.gz를 다운받아 설치했습니다. 
일단 압축을 풀고 소스디렉토리에 가서 make를 하시면 3가지 파일이 생성되는 데 그중에libBr
okenLocale.so를 /lib/에 복사하고 ln -s /lib/libBrokenLocale.so /lib/libBrokenLocale.so.1로 링크시켜둡니다.
그리고 libxwcsmbs.so.2라는 파일은 /usr/lib/netscape/에 복사합니다.아래의 것과 박원규님의 것과 
겹치는 기능을 가졌을 수도 있지만 저는이것저것 해보다가 한글사용이 되는 상황에서의 
조합만을 이야기하는 것이니 양해 바랍니다.mozillafix는 이글의 마지막에 있습니다. 소스가 
포함되어서 글이 산만해질까봐 맨 아래로 내렸습니다.mozillafix까지 준비하면libBrokenLocale.so.
1 => /lib/libmozillaix.so => /usr/lib/netscape/libxwcsmbs.so.2 => /usr/lib/netscape/그리고 넷스케이프에 설치
되어 있던 /usr/lib/netscape/liblocale.so가 준비 되었죠이제 실행파일을 손보아야 합니다. 별다른
 것은 없고모질라 실행시 위의 파일들을 preload시키기만 하면 됩니다.제 실행파일은 다음과
 같습니다.---------cut here-----------------------------#!/bin/sh LD_PRELOAD=/lib/libBrokenLocale.so.1:/usr/lib/net
scape/liblocale.so:/usr/lib/netscape/libxwcsmbs.so.2:/usr/lib/netscape/libmozillafix.so     export LD_PRELOADrk-------
--------------------------------------------------그리고 mozillafix를 컴파일 해야 합니다. 소j스는 적수
님이 뉴스그룹에 올린글에 포함되어 있지만 여기에 다시올립니다. 아래 부분을 잘라다가 w
cstombs.c 파일로 만들고 gcc -O2 -fPIC -shared -Wl,-soname,libmozillafix.so.0                -o libmozillafi
x.so wcstombs.c -lc로 컴파일하세요 그리고 역시 /usr/lib/netscape/에 복사해 두세요그러면 libBrokenL
ocale.so.1 => /lib/libmozillaix.so => /usr/lib/netscape/libxwcsmbs.so.2 => /usr/lib/netscape/그리고 넷스케이프
에 설치되어 있던 /usr/lib/netscape/liblocale.so가 준비 되었죠다음은 -------------cut here---------------
-----------------/* Copyright (C) 1999 Penguin Kun.   This program is based on libwcsmbs-0.0.5/wcstombs.c and derived f
rom   http://www.yasuda.comm.waseda.ac.jp/~nagahama/freebsd.html   (which is written in Japanese).   Compile: gcc -O2
 -fPIC -shared -Wl,-soname,libmozillafix.so.0                -o libmozillafix.so wcstombs.c -lc   Usage: env LD_
PRELOAD=./libmozillafix.so netscape *//* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc.   Th
is file is part of the GNU C Library.   The GNU C Library is free software; you can redistribute it and/or   modify it
 under the terms of the GNU Library General Public License as   published by the Free Software Foundation; either versi
on 2 of the   License, or (at your option) any later version.   The GNU C Library is distributed in the hope that it w
ill be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PAR
TICULAR PURPOSE.  See the GNU   Library General Public License for more details.   You should have received a copy of
 the GNU Library General Public   License along with the GNU C Library; see the file COPYING.LIB.  If not,   write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,   Boston, MA 02111-1307, USA.  */#include <stdlib.h>
#include <wchar.h>/* Convert the `wchar_t' string in PWCS to a multibyte character string   in S, writing no more than 
N characters.  Return the number of bytes   written, or (size_t) -1 if an invalid `wchar_t' was found.   Attention: t
his function should NEVER be intentionally used.   The interface is completely stupid.  The state is shared between  
 all conversion functions.  You should use instead the restartable   version `wcsrtombs'.  */size_twcstombs (char *s,
 const wchar_t *pwcs, size_t n){  /*   * The document file "libc.info-18" says at line 1109,   *   *  "- Function:
size_t mbstowcs (wchar_t *WSTRING, const char *STRING,   *      size_t SIZE)   *      .......   *   The conver
sion of characters from STRING begins in the initial   *   shift state."   *   *  So, I think it must be given an i
nitialized mbstate_t   *  "initial_shift_state".   */  mbstate_t initial_shift_state = {0, (wint_t)0};  /*   * a t
emporary kluge for Netscape's (Motif's) BUG   */  if (pwcs[0] & 0xffff0000) {    int len;    if (s != NULL) {   
   strncpy(s, (char *)pwcs, n);    }    len = strlen((char *)pwcs);    return (len < n) ? len : n;  }  /* Retur
n how many we wrote (or maybe an error).  */  return __wcsrtombs (s, &pwcs, n, &initial_shift_state);}-----> cut here 
<----------------------------------------------------------
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved