Chuyển đến nội dung
Diễn đàn CADViet
pdhuy

[Đã xong] Lisp chuyển font mã VNI sang TCVN-3

Các bài được khuyến nghị

Cho mình hỏi Mình đang sử dụng font VNI-Helvet bây giòi muốn chuyển text này sang font vnarialh có đoạn lisp nào hoặc cách nào chuyển nhanh được không?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cho mình hỏi Mình đang sử dụng font VNI-Helvet bây giòi muốn chuyển text này sang font vnarialh có đoạn lisp nào hoặc cách nào chuyển nhanh được không?

Lệnh V2T dưới đây sẽ chuyển mã VNI sang TCVN-3 như bạn muốn.

(defun c:V2T (/ sst)
 (setq	tapsua (list
	 (cons "®" "ñ")
	 (cons "§" "Ñ")
	 (cons "µ" "aø")
	 (cons "¸" "aù")
	 (cons "¶" "aû")
	 (cons "·" "aõ")
	 (cons "¹" "aï")
	 (cons "©" "aâ")
	 (cons "¢" "AÂ")
	 (cons "Ç" "aà")
	 (cons "Ê" "aá")
	 (cons "È" "aå")
	 (cons "É" "aã")
	 (cons "Ë" "aä")
	 (cons "¨" "aê")
	 (cons "¡" "AÊ")
	 (cons "»" "aè")
	 (cons "¾" "aé")
	 (cons "¼" "aú")
	 (cons "½" "aü")
	 (cons "Æ" "aë")
	 (cons "Ì" "eø")
	 (cons "Ð" "eù")
	 (cons "Î" "eû")
	 (cons "Ï" "eõ")
	 (cons "Ñ" "eï")
	 (cons "ª" "eâ")
	 (cons "£" "EÂ")
	 (cons "Ò" "eà")
	 (cons "Õ" "eá")
	 (cons "Ó" "eå")
	 (cons "Ô" "eã")
	 (cons "Ö" "eä")
	 (cons "×" "ì")
	 (cons "Ý" "í")
	 (cons "Ø" "æ")
	 (cons "Ü" "ó")
	 (cons "Þ" "ò")
	 (cons "ß" "oø")
	 (cons "ã" "où")
	 (cons "á" "oû")
	 (cons "â" "oõ")
	 (cons "ä" "oï")
	 (cons "«" "oâ")
	 (cons "¤" "OÂ")
	 (cons "å" "oà")
	 (cons "è" "oá")
	 (cons "æ" "oå")
	 (cons "ç" "oã")
	 (cons "é" "oä")
	 (cons "¬" "ô")
	 (cons "¥" "Ô")
	 (cons "ê" "ôø")
	 (cons "í" "ôù")
	 (cons "ë" "ôû")
	 (cons "ì" "ôõ")
	 (cons "î" "ôï")
	 (cons "ï" "uø")
	 (cons "ó" "uù")
	 (cons "ñ" "uû")
	 (cons "ò" "uõ")
	 (cons "ô" "uï")
	 (cons "­" "ö")
	 (cons "¦" "Ö")
	 (cons "õ" "öø")
	 (cons "ø" "öù")
	 (cons "ö" "öû")
	 (cons "÷" "öõ")
	 (cons "ù" "öï")
	 (cons "ú" "yø")
	 (cons "ý" "yù")
	 (cons "û" "yû")
	 (cons "ü" "yõ")
	 (cons "þ" "î")
       )
tapsua (mapcar '(lambda	(x)
		  (cons (cdr x) (car x))
		)
	       tapsua
       )

 )
 (defun cf (stsua)
   (defun pos (sub st / l1 l2 index)
     (setq index 1
    l1	  (strlen sub)
    l2	  (strlen st)
     )
     (while
(and (	 (setq index (1+ index))
     )
     (if (= sub (substr st index l1))
index
nil
     )
   )

   (setq stdich stsua
  stht stdich)
   (foreach pt	tapsua
     (setq
cansua	(car pt)
suabang	(cdr pt)
     )
     (while (wcmatch stht (strcat "*" cansua "*"))
(setq
  vitri	 (pos cansua stdich)
  stdich (strcat (substr stdich 1 (1- vitri))
		 suabang
		 (substr stdich (+ vitri (strlen cansua)))
	 )
  vitri	 (pos cansua stht)
  stht   (strcat (substr stht 1 (1- vitri))			 
		 (substr stht (+ vitri (strlen cansua)))
	 )
)
     )
   )
   stdich
 )
 (defun VNI2TCVNone
	     (ent / daichuoi index stdich chuht CHUSUA)
   (setq
     tt     (entget ent)
     old    (assoc 1 tt)
     stsua  (cdr old)
     stdich (cf stsua)
     tt     (subst (cons 1 stdich) old tt)
   )
   (entmod tt)
   (entupd ent)
 )
 (defun sudung	(ham ss / sodt index entdt soapp)
   (setq sodt	(cond
	  (ss (sslength ss))
	  (t 0)
	)
  soapp	0
  index	0
   )
   (repeat sodt
     (setq entdt (ssname ss index)
    index (1+ index)
     )
     (if (ham entdt)
(setq soapp (1+ soapp))
     )
   )
   soapp
 )
 (princ "\nConvert text from VNI to TCVN3 - © CADViet.com")
 (setq sst (setq ss (ssget '((0 . "TEXT")))))
 (sudung VNI2TCVNone sst)
 (princ)
)
(princ
 "\nConvert text from VNI to TCVN3 - free lisp from www.cadviet.com"
)
(princ "\ntype V2T to start!")
(princ)

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Lệnh V2T dưới đây sẽ chuyển mã VNI sang TCVN-3 như bạn muốn.

 

Nếu muốn chuyển ngược lại thì mình đảo đoạn này lại phài không bác!

(setq tapsua (list

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nếu muốn chuyển ngược lại thì mình đảo đoạn này lại phài không bác!

(setq tapsua (list

 

Bỏ dòng lệnh này đi là được:

tapsua (mapcar '(lambda (x)

(cons (cdr x) (car x))

)

tapsua

)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bỏ dòng lệnh này đi là được:

tapsua (mapcar '(lambda (x)

(cons (cdr x) (car x))

)

tapsua

)

 

tôi sử dụng gặp lỗi sau:

Command: ap APPLOAD V2T.lsp successfully loaded.

Command:

Convert text from VNI to TCVN3 - free lisp from www.cadviet.com

type V2T to start!

Command:

Command: v2t ; error: too many arguments

nhờ anh Hoành xem lại giúp tôi. Thanks

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
tôi sử dụng gặp lỗi sau:

Command: ap APPLOAD V2T.lsp successfully loaded.

Command:

Convert text from VNI to TCVN3 - free lisp from www.cadviet.com

type V2T to start!

Command:

Command: v2t ; error: too many arguments

nhờ anh Hoành xem lại giúp tôi. Thanks

Chắc lại giống lỗi hôm nọ rồi.

Vbao thử xài chương trình đã biên dịch này xem: http://www.cadviet.com/upfiles/vni2tcvn.vlx

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Nhờ các bạn chỉ giúp sử dụng vni2tcvn.vlx như thế nào? Tôi đánh lệnh V2T nó yêu cầu Select objects nhưng chọn vào text muốn đổi mà không thể chọn được. Mà nếu tôi muốn đổi cả cái style standard có font VNI-Book thì làm thế nào? Xin chân thành cám ơn

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nhờ các bạn chỉ giúp sử dụng vni2tcvn.vlx như thế nào? Tôi đánh lệnh V2T nó yêu cầu Select objects nhưng chọn vào text muốn đổi mà không thể chọn được. Mà nếu tôi muốn đổi cả cái style standard có font VNI-Book thì làm thế nào? Xin chân thành cám ơn

bạn thử explode text đó ra trước khi dùng lệnh xem sao?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cám ơn bạn, đúng là sau khi explode thì chọn được. Nhưng sau khi chuyển song vẫn không đọc được tiếng Việt. Bạn chỉ giúp với. Xin cám ơn

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cám ơn bạn, đúng là sau khi explode thì chọn được. Nhưng sau khi chuyển song vẫn không đọc được tiếng Việt. Bạn chỉ giúp với. Xin cám ơn

 

Chuyển xong thì bạn fải đổi textstyle sang các font thuộc bảng mã TCVN3 thì mới đọc được chứ

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chào các anh em trên điễn đàn!

Công ty mình trước kia hay dùng font vnsimli.shx Nhưng bây giừ lại chuyển toàn bộ sang dùng arial. Toàn bộ những mẫu chi tiết điển hình của mình bây mà ngồi đánh lại thì mệt chết mất. Mình đã dùng list chuyển font trên diễn đàn rồi nhưng vấn đề mình gặp ở đây là : Khi mình chuyển từ vnsimli.shx sang arial thì font mới là chữ bình thường. Mình muốn là chữ in hoa thì bản vẽ mới đẹp. Rất mong các bạn giúp đỡ.

http://www.cadviet.com/upfiles/3/font.dwg

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Anh cho em hỏi file tải về làm sao để đọc được vậy anh?Hình như code lisp này chỉ chuyển chỗ chữ nào chữ thường thôi phải không anh khi em chuyển chữ có dấu chỗ chữ in hoa thì không được.Mấy kí hiệu symbo ở font Vni sang TCVN cũng không đuợc luôn.Mong các anh giải thích và giúp đỡ em, em xin cám ơn!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Đang đau đầu vụ chuyển font VNI sang Unicode. Anh em có ai biết cách convert font không chỉ giáo tại hạ với ạ. Thanks alot!

Dùng Unikey :)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×