[프로그램] KShell v0.7.0
좀딱
0
14,547
2008.10.05 23:12
KShell v0.7.0
---------------
1. 소개
-------
이 프로그램은 기본적으로 비-한국어판 OS/2 환경의 VIO 프로그램에서 한글
입출력을 도와주기 위해 만들어졌습니다. OS/2 의 Base Video Subsystem 호출을
가로채어 PM 창에서 출력되도록 합니다.
2. 제작 환경
------------
- 한국어판 OS/2 Warp v4 with FixPak #15
- Open Watcom v1.6
3. 실행에 필요한 환경
---------------------
- 한글( 또는 해당 언어 )를 표현할 수 있는 글꼴
- 한글( 또는 해당 언어 ) 입력기. 예) KIME
4. 시험 환경
------------
한국어판 OS/2 Warp v4 with FixPak #15 와 eComStation v1.2MR 에서
시험했습니다.
5. 기능
-------
- OS/2 Base Video Subsystem 을 가로채어 PM 창에 출력하고, 키보드 모니터를
이용하여 PM 의 입력을 VIO 프로그램에 전달합니다.
- 기존의 민초(MINCHO) 글꼴 대신 시스템에서 사용가능한 모든 글꼴을 사용할 수
있습니다. 단, 고정폭 글꼴만 가능합니다.
- 코드 페이지를 따로 지정할 수 있기 때문에 한글 뿐만아니라, 해당 언어
입력기와 글꼴만 갖추어진다면 해당 언어의 문자를 입력/출력할 수 있습니다.
- 다시 보기(Scroll-Back) 기능을 최대 200줄까지 지원합니다.
- 클립보드(유니코드)를 지원합니다.
- FT2LIB 을 지원합니다.
6. 설치
-------
kshell.exe, viodmn.exe, viosub.dll 을 아무 디렉토리에 같이 넣어두시면
됩니다.
7. 사용법
---------
7-1. 시스템 메뉴
----------------
Codepage... : 코드 페이지를 지정합니다.
Font... : 글꼴의 종류와 크기를 지정합니다.
7-2. 팝업 메뉴
--------------
Codepage... : 코드페이지를 지정합니다.
Font... : 글꼴의 종류와 크기를 지정합니다.
Copy : 표시된 내용을 클립보드로 복사합니다.
Copy All : 화면의 모든 내용을 클립보드로 복사합니다.
Paste : 클립보드에 있는 내용을 화면으로 복사합니다.
Use FT2LIB : FT2LIB 사용 여부를 지정합니다.
8. 제한 사항 또는 알려진 벌레
-----------------------------
- 키보드 입력과 출력만을 지원합니다. 따라서 마우스 기능은 지원되지
않습니다.
- Ctrl-S, Ctrl-P 같은 특수키 조합이 지원되지 않습니다.
- Q.EXE 에서 Shift-방향키 조합이 작동하지 않습니다.
- FT2LIB 모드일 경우, 글꼴의 가로 폭이 지나치게 넓어지는 경우가 있습니다.
9. 할 것들...
-------------
- 마우스를 지원한다.
- 특수키 조합을 지원한다.
10. 판번호 보기
---------------
- v0.7.0 ( 2008/10/05 )
.FT2LIB 을 지원합니다.
.아이콘을 포함했습니다( Alex Taylor 씨 기여 ).
.클립보드에서 유니코드를 지원합니다( Alex Taylor 씨 기여 ).
.클립보드에 복사할 때 기존 클립보드 내용이 지워지지 않습니다
( Alex Taylor 씨 제보 ). 고침.
.화면 경계에서 팝업 메뉴 일부가 화면 밖으로 나갑니다. 고침.
- v0.6.0 ( 2007/04/07 )
.VioSetMode() 를 지원합니다. 따라서 25 줄뿐만 아니라 43/50 줄도 지원합니다.
.글꼴을 바꾸면 코드페이지도 함께 바뀝니다. 고침.
.코드 페이지가 바뀌더라도 DBCS 초기화가 되지 않습니다. 고침.
.XCOPY.EXE 는 디버그 빌드에서 실행되지 않습니다. 고침( 스택 오버플로우
체크를 껐습니다. -s 옵션 추가 )
- v0.5.0 ( 2007/03/14 )
.Ctrl-C, Ctrl-Break 특수키 조합을 지원합니다.
.KSHELL_COMSPEC 환경 변수를 지원합니다.
.donePipeThreadForVioSub()에서 _endthread()가 잘못 호출됩니다. 고침.
.v0.4.0 에서 HV.EXE 파일 목록 화면에 빈 사각형이 나타납니다. 고침.
.'다시 보기' 상태에서 '표시' 기능이 올바르게 작동하지 않습니다. 고침.
.과도하게 스크롤이 진행되는 상황(예, DIR x:\/s)에서 글쇠를 입력하면 KShell
이 반응하지 않습니다. 고침.
.스크롤 도중에 화면 전환 따위로, KShell 창 전체가 가려지면 KShell 이
반응하지 않습니다. 고침.
.v0.4.0 에서 XCOPY.EXE 가 작동하지 않습니다. 고침. (v0.4.0 은 디버그 빌드가
배포하였는데, 디버그 빌드에서 문제 발생. 릴리즈 빌드에서는 문제없음.
컴파일러 벌레일지도...)
- v0.4.0 ( 2007/02/26 )
.'Courier New' 글꼴은 올바르게 표시되지 않습니다. 고침.
.'Marking Mode' 일 경우, 다른 윈도우에 가려졌던 일부가 올바르게 표시되지
않습니다. 고침.
.v0.3.0 에서 컴파일러를 바꾸면서, vioGetBuf()가 올바르게 작동하지
않습니다. 고침
.글꼴 연관 기능이 쓰일 경우 계단 현상이 나타납니다. 고침.
.v0.2.0 에서 스크롤 함수를 바꾸면서, 스크롤 내용이 스크롤 범위 밖으로
흘러 나옵니다. 고침.
.때때로 CPU 점유율이 올라가면서 멈춥니다. 고침(희망사항^^)
- v0.3.0 ( 2007/01/01 )
.클립보드를 지원합니다.
.사소한 벌레들을 잡았습니다.
.컴파일러를 Open Watcom v1.6 으로 바꾸었습니다.
- v0.2.0 ( 2005/08/16 )
.성능이 대폭 향상되었습니다.
.배경색이 다를 경우, 잔상이 남을 수 있습니다. 고침.
.화면이 스크롤 될 때, KShell 창의 일부가 다른 창으로 가려지게 되면,
KShell 창에 다른 창의 내용이 나타납니다. 고침(GpiBitBlt() 대신
WinScrollWindow() 사용).
.HyperView( HV.EXE ) 는 실행이 되지 않습니다. 고침(DosQuerySysState()의
버퍼 크기를 늘림).
- v0.1.0 ( 2005/02/28 )
.폴링(Polling) 기법 대신 VioRegister() 이용하여, 출력 속도가 빨라졌습니다.
.VIO 색상이 올바르게 표시됩니다.
.DBCS 문자를 연속해서 입력할 경우, 깨진 글자가 나타납니다. 고침.
.글꼴이 바뀌어도 크기가 바뀌지 않으면 화면이 갱신되지 않습니다. 고침.
.비트맵 글꼴( 예, MINCHO )의 경우, 다음 실행때 제대로 지정되지 않습니다.
고침.
.글꼴 크기를 pel 단위에서 pt 단위로 바꾸었습니다.
- test version ( 2005/01/19 )
.시험판
11. 소스 컴파일 하기
--------------------
소스를 컴파일하기 위해서는 Open Watcom v1.6 이 필요합니다.
이 모든 것이 준비되었다면, 해당 디렉토리에서 'wmake' 를 실행하시면 됩니다.
12. 모듈 설명
-------------
kshell.exe : VIO 의 내용을 PM 상에 뿌려주고, PM 의 입력을 VIO 에 전해주는
프로그램 본체.
viodmn.exe : 'KSHELL_COMSPEC', 'COMSPEC', 'CMD.EXE' 순으로 명령셸을
실행시키고, VIO 와 PM 을 연결해주는 프로그램.
!!! 단독으로 실행될 수 없습니다 !!!
viosub.dll : OS/2 Base Video Subsystem 을 가로채기 위한 DLL 입니다.
test.exe : VIO 상에서 키가 입력되었을 때 키에 대한 정보를 알려주는
프로그램.
13. 고마운 분들...
------------------
nickk : VioRegister() 를 사용하기 위한 예제를 제공해 주셨습니다.
14. 하고 싶은 말이 있을 때...
-----------------------------
e-mail : komh@chollian.net
ICQ : 124861818
MSN : komh@chollian.net
IRC : lvzuufx, #os2 at HANIRC(irc.hanirc.org)
만든이 : 고명훈