munsell-conv.el (munsell-split): recognize Nv/c format.
[elisp/munsell.git] / munsell-conv.el
index 29b3a08..9a051bc 100644 (file)
@@ -1,5 +1,3 @@
-;; -*- coding: iso-2022-7bit; -*-
-
 (require 'munsell-data)
 
 (defun munsell-lookup (color)
        (value-var (nth 1 vars))
        (chroma-var (nth 2 vars)))
     `(let ((,color-var ,color-expr))
-       (if (string-match "^\\([0-9]+\\(\\.[0-9]*\\)?\\)\\(B\\|BG\\|G\\|GY\\|Y\\|YR\\|R\\|RP\\|P\\|PB\\)\\([0-9]+\\(\\.[0-9]*\\)?\\)/\\([0-9]+\\(\\.[0-9]*\\)?\\)$" ,color-var)
-          (let ((,hue-var (cons (string-to-number (match-string 1 ,color-var)) (match-string 3 ,color-var)))
-                (,value-var (string-to-number (match-string 4 ,color-var)))
-                (,chroma-var (string-to-number (match-string 6 ,color-var))))
+       (if (string-match "^\\(N\\|\\([0-9]+\\(\\.[0-9]*\\)?\\)\\(B\\|BG\\|G\\|GY\\|Y\\|YR\\|R\\|RP\\|P\\|PB\\)\\)\\([0-9]+\\(\\.[0-9]*\\)?\\)/\\([0-9]+\\(\\.[0-9]*\\)?\\)$" ,color-var)
+          (let ((,hue-var
+                 (if (match-beginning 2)
+                     (cons (string-to-number (match-string 2 ,color-var))
+                           (match-string 4 ,color-var))
+                   (cons 0 (match-string 1 ,color-var))))
+                (,value-var (string-to-number (match-string 5 ,color-var)))
+                (,chroma-var (string-to-number (match-string 7 ,color-var))))
             ,body)
         ,(or
           invalid-action