
약간은 모양을 갖추기 시작
무엇보다 인코딩 문제가 골치아프다. 유니코드를 위젯에 직접 쓸 수는 없는데 사용자가 위젯에 입력한 문자열은 유니코드라든지 하는 상황에 @_@ 상태. 또 어떤 위젯에는 유니코드 직접 입력이 되고... 어찌어찌 한글 표시는 되게 해놨지만, 소스가 꼬인 상태여서 인코딩을 통합적으로 처리하는 기능을 만들어야 할 것 같다.
인코딩 다음에는 한동안 자료 구조를 짜봐야 할 것 같다. 예를 들어 지금은 이런 식으로 가고 있는데...
self.channels = [
{'name':'#포도원의제다이',
'users':['@Eldir','Loki'],
'lines':['Loki님이 입장하셨습니다.',]},
]
이 구조에는 추가할 것도 많지만, 변경할 것도 있다. 예를 들어 나중에 타자 중 알림까지 구현할 것을 생각하면 'users' 키는 단어 리스트 대신 딕셔너리 리스트로 하는 게 나을 수도 있다.
'users': [
{'name':'@Eldir', 'typing': False},
{'name': 'Loki', 'typing': True}
]
대신 사용자 리스트 정렬 같은 게 귀찮아지긴 한다. 사용자 정보는 타자중 표시만 있어도 된다면 이름을 딕셔너리 키로 사용하는 것도 한 방법일 듯.
'users': {
'@Eldir': True,
'Loki': False,
}
하는 식으로. 정렬은 keys() 목록 정렬로 해결할 수 있을 테고.
'lines' 부분 역시 태그 정보까지 표시할 수 있게 확장해야 한다. 지금 생각하는 건 사용자가 직접 입력할 리가 없는 특수문자로 문자열을 갈라서 정보를 표시하는 정도. 대충 이런 식? (아마 몇 번 돌려보고 디버깅하기까지는 애로사항이 꽃피겠지만...)
line = '안녕, 여러분!¿red,0,2¿bold,1,4¿strike,4,7'
self.channels[self.currChan]['lines'].append(line)
totalLines = str(len(lines))
splitline = line.split('¿')
self.displayText.insert(END,splitline[0].strip()+'\n','default')
try:
taginfo = splitline[1:]
for tag in taginfo:
tagIndex = tag.split(',')
self.displayText.tag_add(tagIndex[0],\
"%s.%s" % (totalLines,tagIndex[1]), \
"%s.%s" % (totalLines,tagIndex[2]))
except IndexError:
pass
여기에 태그에 따라 글씨 색, 크기 등을 바꾸는 부분을 처리하면 '안녕, 여러분!' 같은 같잖은 짓을 할 수 있다. 역시 인코딩이 괴롭히기는 해서, 한글로는 글자 수 처리가 제대로 안 되고 유니코드로 처리해야 할 것 같다. 유니코드를 제대로 처리할 체계만 갖추면 비교적 풍부한 포매팅 선택지를 제공할 수 있을 듯. 제공하는 게 과연 좋을지는 생각해볼 문제이긴 하다.


페어토 혹은 페이오스는 제비뽑는 상자 혹은 주사위 컵을 상징한다고 한다. 친구끼리 하는 즐거운 놀이를 뜻할 수도 있고 운명과 예언을 상징할 수도 있는, 어찌 보면 다소 이율배반적인 룬. 기본적으로는 여성적 신비와 자궁의 창조적 에너지를 가리킨다.
생각해보면 무엇이 나올지 모르는 주사위 컵이나 제비상자와 수많은 미래의 가능성을 품는 자궁, 그리고 예측불허인 미래나 운명은 일맥상통하는 데가 있다. 우연의 변덕, 무한한 가능성과 즐거운 놀이를 나타낸다는 점에서 페이오스 룬은 RPG 클라이언트에 꽤 어울리는 것 같다. 여성의 신비나 여성적 창조성이라는 뜻은 RPG계의 남초 현상을 살짝 찌르기도 하고..ㅋㅋ
문제는 어떻게 활용하느냐인데... 아이콘은 페이오스 룬의 입구에 주사위 하나 있는 정도로 처리하면 될 것 같고, 문제는 이름. Pertho/Peorth와 Python을 합성한 Pyrtho나 Pyorth도 생각해볼 수 있겠지만, 이름에서 의미가 확 살지 않는 건 좀 아쉽다. PeoRC도 그렇고...
사실 정말로 하고 싶은 이름은 따로 있긴 하다. 페이오스 룬의 가장 마음에 드는 번역, Dicebox. 깔끔하고 의미 전달 잘 되고 정말 딱인데 아쉽게도 내가 생각해낸 게 아니라서 쓸 수가 없다. SF 웹코믹 제목이거든. Dicecup도 생각할 수 있지만 역시 딱은 아니고, 이래저래 생각해 보고 있다.
어쨌든 답답하면 답답한 대로, 막히면 막히는 대로 꾸역꾸역 진행하고 있는 프로젝트다. 이리저리 생각해보고 머리쓰는 게 나름 재밌다. 이렇게 찌끄덕찌끄덕거리다 언젠가 완성할 수 있을까.




