Isoraqathedh

Parse

Apr 2nd, 2014
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.99 KB | None | 0 0
  1. (with-open-file (input-data "Z:/Documents/Programming/omgkanji-data.lisp" :external-format :utf-8)
  2.        (with-open-file (output-data "Z:/Documents/Programming/omgkanji/processed.txt"
  3.                                         :direction :output :external-format :utf-8 :if-exists :supersede)
  4.          (let ((data (read input-data)))
  5.            (loop for datum in data
  6.              for ord = (getf datum :number)
  7.              for character = (getf datum :character)
  8.              for composition = (getf datum :composition)
  9.              for name = (getf datum :name)
  10.              when (= 1 (length character))
  11.                do (format output-data "~4,'0d~5t~a~3t~a~50t~{~a~}~&"
  12.                   ord
  13.                   character
  14.                   name
  15.                   (if (zerop (length composition))
  16.                       (list "-----")
  17.                       (mapcar #'(lambda (p) (cond ((= 1 (length p)) p)
  18.                                   ((eql p nil) "")
  19.                                   ((string= p "???") "〇")
  20.                                   ((string= p "<<<") "巛")
  21.                                   ((string= p "") "〇")
  22.                                   ((string= p "Same-ON") "")))
  23.                           composition)))))))
Advertisement
Add Comment
Please, Sign In to add comment