VISCII

VISCII
MIME / IANAVISCII
언어베트남어, 영어
만든이베트남 표준 그룹 (Viet-Std Group)
정의RFC 1456
분류8비트 SBCS
기반ASCII

VISCII는 베트남어를 컴퓨터에서 사용하기 위해 비공식적으로 정의된 수정된 ASCII 문자 인코딩이다. 이름이 비슷한 공식 등록 인코딩인 VSCII와 혼동해서는 안 된다. VISCII는 ASCII의 95개 인쇄 가능 문자를 수정 없이 유지하면서, 33개의 제어 문자 중 6개를 인쇄 가능한 문자로 대체한다. 또한 128개의 조합형 문자를 추가한다. 현재는 유니코드와 Windows-1258 코드 페이지가 사실상 모든 베트남어 컴퓨터 데이터에 사용되지만, 기존의 VSCII 및 VISCII 파일은 변환이 필요할 수 있다.

역사와 명칭

VISCII는 1992년 실리콘 밸리에 기반을 둔 크리스토퍼 끄엉 T. 응우옌(Christopher Cuong T. Nguyen), 끄엉 M. 부이(Cuong M. Bui), 혹 D. 응오(Hoc D. Ngo)가 이끄는 베트남 표준화 실무 그룹(Viet-Std Group)에 의해 설계되었다. 당시 이들은 유니코드 표준에 베트남어 조합형 문자를 포함하기 위해 유니코드 컨소시엄과 협력하고 있었다. VISCII는 VIQR과 함께 1992년 9월 이중언어 보고서에서 처음 발표되었으며, 여기서 "베트남어 정보 교환 표준 부호(Vietnamese Standard Code for Information Interchange)"라는 명칭이 붙었다. 해당 보고서는 베트남 내 컴퓨터 사용의 급증과 해외 베트남인들 사이의 컴퓨터 기반 통신량 증가, 기존 응용 프로그램들이 업체별 인코딩을 사용하여 상호 운용이 불가능하다는 점, 따라서 업체 간 표준화가 필요하다는 점을 지적했다. 유니코드 1.0에 베트남어 조합형 및 완성형 문자가 성공적으로 포함된 것은 8비트 VISCII와 7비트 VIQR 개발 과정에서 얻은 교훈의 결과였다.

이듬해인 1993년, 베트남은 정보기술 분야의 첫 국가 표준인 TCVN 5712를 채택했다. 이는 TCVN 정보기술 기술위원회(TCVN/TC1)가 개발한 VSCII라는 문자 인코딩을 정의했으며, 그 이름은 "베트남어 정보 교환 표준 부호"를 의미했다. VSCII는 이전에 발표된 VISCII와 호환되지 않으며, 서로 관련이 없다. VISCII와 달리 VSCII는 국가 표준으로서의 "베트남 표준"이다.

VISCII와 VIQR은 1993년 5월에 정보 수준의 RFC 1456으로 승인되었으며, Viet-Std 그룹의 기여로 간주된다. IETF RFC가 일반적으로 그렇듯, RFC 1456은 이들을 유즈넷에서 해외 베트남어 사용자들이 사용하는 "관례"로 언급하며 "어떠한 표준 수준도 명시하지 않는다"고 밝히고 있다. 그럼에도 불구하고 이 문서에서는 VISCII를 (VSCII와 동일한 이름인) "베트남어 정보 교환 표준 부호"라고 계속 지칭한다. VISCII 및 csVISCII 라벨은 RFC 1456를 참조하여 IANA에 VISCII용으로 등록되어 있다. (반면 TCVN 5712 / VSCII에 대한 공식 IANA 라벨은 없으나, 과거 모질라 파이어폭스에서 x-viet-tcvn5712를 지원한 바 있다.)

설계

전통적인 확장 ASCII 문자 집합은 ASCII 집합에 최대 128개의 문자를 추가한 것으로 구성된다. 베트남어는 134개의 추가적인 글자와 발음 기호 조합이 필요한데, 이는 6개가 초과하는 수치이다. (대문자에 대한 성조 표시 지원을 포기하는 VSCII-3과 같은 경우를 제외하면) 이 문제를 해결하는 네 가지 주요 방법이 있다.

  1. 가변 너비 인코딩 사용 (예: UTF-8)
  2. 성조 표시를 위한 결합형 발음 기호 포함 (예: VSCII-2 및 Windows-1258) 또는 일반적인 발음 기호 포함 (예: ANSEL 및 VNI)
  3. 일부 ASCII 구두점 대체, 가급적 ISO/IEC 646에서 불변하지 않는 구두점 대체 (예: DOS용 VNI)
  4. 기본 ASCII 제어 문자 중 최소 6개 대체 (예: VPS 및 VSCII-1)

VISCII는 마지막 방식을 선택하여, 가장 문제가 적은(즉, 응용 프로그램이 인식하고 특별히 처리할 가능성이 가장 낮은) C0 제어 코드 6개(STX, ENQ, ACK, DC4, EM, RS)를 가장 사용 빈도가 낮은 대문자-발음 기호 조합 6개로 대체했다. 이 방식은 해당 제어 코드를 사용하는 프로그램이 VISCII 텍스트를 처리할 때 오작동을 일으킬 수 있으나, 다른 두 방식보다 복잡성이 적다(설계자들은 비-8비트 클린 전송이 실제로는 제어 문자 재사용보다 더 많은 어려움을 유발한다는 점을 지적했다). 그럼에도 불구하고, C0 및 C1 제어 코드의 위치와 ISO/IEC 8859-1, Mac OS Roman, OEM-US에서 줄 바꿈 없는 공백에 사용되는 코드는 의도적으로 대문자에 할당되었다. 이는 해당 코드에 대해 그래픽 문자를 표시할 수 없을 경우, 모든 문자를 대문자로 표시하는 글꼴을 사용하여 소문자 코드 포인트를 활용하려는 의도였다.

그러나 모든 확장 코드 포인트를 발음 기호가 붙은 문자에 사용함으로써, 다른 대부분의 확장 ASCII 문자 집합처럼 유용한 기호, 위첨자 숫자, 곡선 따옴표, 적절한 대시 등을 추가할 공간이 남지 않았다.

문자 위치는 사용자 편의성을 고려하여 두 코드 페이지 간에 공통된 문자가 있는 경우 대부분 ISO/IEC 8859-1을 따르도록 설계되었다(대문자 Õ는 예외로 기록됨).

지원

VISCII는 캘리포니아의 TriChlor Software Group에 의해 부분적으로 지원받고 있으며, 이들은 MS-DOS, 윈도우, 유닉스, 매킨토시용 VISCII 호환 소프트웨어 패키지, 라이브러리 및 글꼴을 배포했다. VISCII 호환 소프트웨어는 여러 FTP 사이트에서 구할 수 있다.

VISCII는 과거 모질라 선더버드에서 발신 전자우편을 위한 인코딩으로 제공되었다. 또한 크리스토퍼 끄엉 T. 응우옌이 만들고 이후 혹 D. 응오 등이 여러 윈도우 버전으로 업그레이드한 윈도우용 베트남어 키보드 소프트웨어인 WinVNKey에서도 지원되었다.

VISCII는 주로 해외 베트남인들이 사용했으며, 베트남 북부에서는 VSCII (TCVN)가, 남부에서는 VNI가 더 대중적이었다.

문자 집합

VISCII
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH Ẳ
1EB2
ETX EOT Ẵ
1EB4
Ẫ
1EAA
BEL BS HT LF VT FF CR SO SI
1x DLE DC1 DC2 DC3 Ỷ
1EF6
NAK SYN ETB CAN Ỹ
1EF8
SUB ESC FS GS Ỵ
1EF4
US
2x  SP  ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \ ] ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~ DEL
8x Ạ
1EA0
Ắ
1EAE
Ằ
1EB0
Ặ
1EB6
Ấ
1EA4
Ầ
1EA6
Ẩ
1EA8
Ậ
1EAC
Ẽ
1EBC
Ẹ
1EB8
Ế
1EBE
Ề
1EC0
Ể
1EC2
Ễ
1EC4
Ệ
1EC6
Ố
1ED0
9x Ồ
1ED2
Ổ
1ED4
Ỗ
1ED6
Ộ
1ED8
Ợ
1EE2
Ớ
1EDA
Ờ
1EDC
Ở
1EDE
Ị
1ECA
Ỏ
1ECE
Ọ
1ECC
Ỉ
1EC8
Ủ
1EE6
Ũ
0168
Ụ
1EE4
Ỳ
1EF2
Ax Õ
00D5
ắ
1EAF
ằ
1EB1
ặ
1EB7
ấ
1EA5
ầ
1EA7
ẩ
1EA9
ậ
1EAD
ẽ
1EBD
ẹ
1EB9
ế
1EBF
ề
1EC1
ể
1EC3
ễ
1EC5
ệ
1EC7
ố
1ED1
Bx ồ
1ED3
ổ
1ED5
ỗ
1ED7
Ỡ
1EE0
Ơ
01A0
ộ
1ED9
ờ
1EDD
ở
1EDF
ị
1ECB
Ự
1EF0
Ứ
1EE8
Ừ
1EEA
Ử
1EEC
ơ
01A1
ớ
1EDB
Ư
01AF
Cx À Á Â Ã Ả
1EA2
Ă
0102
ẳ
1EB3
ẵ
1EB5
È É Ê Ẻ
1EBA
Ì Í Ĩ
0128
ỳ
1EF3
Dx Đ
0110
ứ
1EE9
Ò Ó Ô ạ
1EA1
ỷ
1EF7
ừ
1EEB
ử
1EED
Ù Ú ỹ
1EF9
ỵ
1EF5
Ý ỡ
1EE1
ư
01B0
Ex à á â ã ả
1EA3
ă
0103
ữ
1EEF
ẫ
1EAB
è é ê ẻ
1EBB
ì í ĩ
0129
ỉ
1EC9
Fx đ
0111
ự
1EF1
ò ó ô õ ỏ
1ECF
ọ
1ECD
ụ
1EE5
ù ú ũ
0169
ủ
1EE7
ý ợ
1EE3
Ữ
1EEE
  ISO/IEC 8859-1과의 차이점

같이 보기

각주

  1. ↑ Phung, Quang; Ngo, Hoc D.; Bui, Cuong. “Vietnamese-Standard Working Group Home Page”. Viet-Std Group. 2019년 8월 23일에 확인함.
  2. 1 2 3 4 5 6 《Vietnamese Character Encoding Standardization Report - VISCII And VIQR 1.1 Character Encoding Specifications》 (기술 보고서). Viet-Std Group. 1992.
  3. 1 2 “[news] TCVN 5712:1993 (VSCII) -- Vietnamese national standard”. 1993년 6월 2일. 2017년 1월 11일에 원본 문서에서 보존된 문서.
  4. ↑ Lunde, Ken (2009년 1월 13일). 〈Chapter 1: CJKV Information Processing Overview (§ Are VISCII and VSCII identical? What about TCVN?)〉 2판. 《CJKV Information Processing》. 17쪽. ISBN 978-0-596-51447-1.
  5. ↑ Vietnamese Standardization Working Group (May 1993). Conventions for Encoding the Vietnamese Language. IETF. RFC 1456. https://tools.ietf.org/html/rfc1456.
  6. ↑ “Character Sets”. IANA.
  7. ↑ Sivonen, Henri (2014년 9월 26일). “Character encoding changes in m-c require c-c action”. 《mozilla.dev.apps.thunderbird》.
  8. ↑ Sivonen, Henri (2014년 9월 26일). “Character encoding changes in m-c require c-c action”. 《mozilla.dev.apps.thunderbird》. VISCII and armscii-8 are special in the sense that, for long time, Thunderbird itself (misguidedly) provided these encodings in the user interface for the choice of outgoing character encoding when composing a message. Therefore, it is possible that there exists a Thunderbird-created legacy of VISCII and armscii-8 email and Usenet posts.
  9. ↑ Ngo, Hoc Dinh; Tran, TuBinh. “5. Why Having Vietnamese Charset (Character Set – Encoding) Conversion?”. 《Some special functions of WinVNKey》.

추가 읽기

외부 링크