Đến nội dung


Hình ảnh
* * * * * 1 Bình chọn

Lisp Chuyển Đổi Mã Font Chữ Trong Autocad


  • Please log in to reply
61 replies to this topic

#41 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 27 November 2015 - 09:05 AM

1. từ unicode - vni - tcvn3 vẫn báo lỗi.
2. cf- ( chuyển tất cả về chữ thường)   anh có thể chỉnh chữ cái đầu tiên trong chuỗi vẫn là chữ in được ko anh hoành.


1. Từ unicode - vni - TCVN3 báo lỗi gì bạn?
2. Chỉ viết hoa riêng chữ đầu tiên, sau khi bạn dùng lệnh cf-, bạn dùng lệnh TCASE là được.
  • 0

#42 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 27 November 2015 - 09:45 AM

down file ở bài #39 thì ngon rồi.

Các Bạn lưu ý:

- Trước khi chuyển về fonts TCVN thì các text nguồn nên dùng lệnh TCASE để chuyển về chữ HOA hoặc chữ THƯỜNG thì lisp chạy chính xác

- Với text nguồn có font là Unicode do người dùng gõ vào thì chuyển về VNI hay TCVN đều tốt

- Với text nguồn có font là Unicode do lisp chuyển về thì khi đổi sang TCVN bị lỗi ở một số ký tự, ví dụ :"trong quá trình thi công phải có biện pháp thoát nước, chống sạt lỡ"


  • 1

#43 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 27 November 2015 - 03:31 PM

1. Từ unicode - vni - TCVN3 báo lỗi gì bạn?
2. Chỉ viết hoa riêng chữ đầu tiên, sau khi bạn dùng lệnh cf-, bạn dùng lệnh TCASE là được.

Cảm ơn anh hoành đã chia sẽ.

việc em chuyển vni - tcvn3. em thử 2 trường hợp: 

1. chuyển font từ các loại font khác về unicode và chuyển ngược lại vni, tcvn3 xẩy ra như sau:

nguồn :"- MẶT ĐƯỜNG BTXM M200 ĐÁ 2X4 DÀY 20CM" - unicode

đích: "- MÆT ĐƯĂªNG BTXM M200 ĐÁ 2X4 DÀY 20CM" - tcvn3

Cái này giống ý kiến của bạn tien 2005 nói trên.

2. Chuyển font chữ tự gõ vào: cad báo 

Hay cho cac text
Select objects: Specify opposite corner: 1 found
Select objects:
Thoi gian chuyen font: 0ms
phần chữ vẫn giữ nguyên.
 - còn ý thứ 2 bạn tiên và các anh em dùng bình thường thì em cung ko biết nói sao.
 - Anh hoành có thể kiểm tra 2 code anh đã test bài trước có thiếu gì ko anh.
mong anh giúp đỡ.

  • 0

#44 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 27 November 2015 - 06:13 PM

Thật lạ, mình đã làm như sau:
- dùng lệnh Dtext tạo một text với nội dung "- MẶT ĐƯỜNG BTXM M200 ĐÁ 2X4 DÀY 20CM" bằng mã unicode
- dùng lệnh cft để chuyển text này sang tcvn
- dùng lệnh cfv để chuyển text này sang vni
- dùng lệnh cfu để chuyển text này trở lại unicode
- kết quả được "- MặT ĐƯờNG BTXM M200 Đá 2X4 DàY 20CM"

Nghĩa là không bị lỗi (lỗi chữ hoa thường do bị ở lúc chuyển TCVN).

bạn congchivo có thể mô tả cách làm mà lisp bị lỗi để mình có thể tái diễn để tìm lỗi lisp được không?
  • 0

#45 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 27 November 2015 - 07:58 PM

Thật lạ, mình đã làm như sau:
- dùng lệnh Dtext tạo một text với nội dung "- MẶT ĐƯỜNG BTXM M200 ĐÁ 2X4 DÀY 20CM" bằng mã unicode
- dùng lệnh cft để chuyển text này sang tcvn
- dùng lệnh cfv để chuyển text này sang vni
- dùng lệnh cfu để chuyển text này trở lại unicode
- kết quả được "- MặT ĐƯờNG BTXM M200 Đá 2X4 DàY 20CM"

Nghĩa là không bị lỗi (lỗi chữ hoa thường do bị ở lúc chuyển TCVN).

bạn congchivo có thể mô tả cách làm mà lisp bị lỗi để mình có thể tái diễn để tìm lỗi lisp được không?

 em gõ dt với nội dung UNICODE : " MẶT ĐƯỜNG BTXM M200 ĐÁ 1X2 DÀY 20CM"

 

bắt đầu chuyển cft: kết quả chưa đổi stye : MÆT ĐƯĂªNG BTXM M200 ĐÁ 1X2 DÀY 20CM

 

Sau khi đổi stye : MÆT ĐƯĂªNG BTXM M200 ĐÁ 1X2 DÀY 20CM.

 

bắt đầu chuyển cfv kết quả chưa đổi stye: MAĂ‹T ĐƯĂ”Ă˜NG BTXM M200 ĐÁ 1X2 DÀY 20CM

 

Sau khi đổi stye: MAĂ‹T ĐƯĂ”Ă˜NG BTXM M200 ĐÁ 1X2 DÀY 20CM

 

- Em thấy hàng chữ sau vẫn giữ nguyên, hàng chữ đầu thay đổi nhưng sau khi đổi stye thì kết quả vẫn lỗi anh hoành ah.

- em gửi lại lsp của anh hoành kiểm tra giúp em nhé.http://www.cadviet.c...endoifont_1.lsp

 

- Anh hoành ơi hình như lsp của anh cũng ảnh hưởng đến font chữ của notepad phải ko anh. Em rà từng chữ trên lsp anh hoành đã đưa lên diễn đàn, thì có một sô ký tự nguôn ngữ chuyển đổi trong lsp khác với Sau khi em copy và dán vào notepad anh ah. notepad của em font chữ unicode còn của anh là gì ........

Có khả năng anh đưa file .vlx sẽ ko có vấn đề gì anh ah.

 (cons "tcvn"
  (list "¸"   "µ"   "¶"   "·" "¹"   "¨"   "¾"   "Æ" "»"
3_convertfont_new6.lsp- dòng ký tự trên khác với em xem trực tiếp trên diễn đàn, 
 Anh cho em xin 1 file vlx của anh thử là biết liền thôi. chứ nếu do máy thì vài cái lsp của em dùng ko đc rồi.
lsp chuyển đổi font rất phức tạp vì trong 1 lsp của anh chuyển tới 3 loại font tcvn3, vni, unicode. còn notapad chỉ dùng đúng một loại, theo em nghĩ là vấn đề nằm chỗ này, lệnh cf+, cf- vẫn ok. nhưng chuyển font thì có vấn đề.
Theo em là vậy thôi chứ em ko biết gì về lsp anh ah.
chúc anh hoành và các anh em trên diễn đàn mạnh khỏe.
 
 
 

 


  • 1

#46 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 27 November 2015 - 09:03 PM

Bạn thử test giúp mình file vlx convertfont này nhé.
3_convertfont.zip
  • 0

#47 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 27 November 2015 - 09:19 PM

Bạn thử test giúp mình file vlx convertfont này nhé.
3_convertfont.zip

 Bắt đầu em gõ font chữ vni: mặt đường bê tông xi măng m200 đá 1x2
lệnh chuyển font hoàn toàn hoàn hảo anh hoành ah.
Cảm ơn anh rất nhiều bây giờ ok rồi.
anh hoành còn một vấn đề nữa anh ah.
chuyển qua lại vni - tcvn3 ko vấn đề gì.
khi chuyển vni- unicode ok, chuyển ngược lại báo lõi chữ. các chữ cái "Đ" , " Ă", " Ư", " Ơ". chắc trong code dịch ngược từ unicode - vni hay TCVN3 có máy chữ cái bị lỗi anh hoành ah
  • 0

#48 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 27 November 2015 - 11:39 PM

@NguyenHoanh: Bạn gõ 1 đoạn text có font là VNI

Sau đó dùng lệnh cfu để chuyển đoạn text đó về unicode (kết quả là A) =>lisp chuyển hoàn hảo

Dùng lệnh cft để chuyển kết quả A về font TCVN thì sẽ thấy lỗi ở một số ký tự


  • 0

#49 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 28 November 2015 - 06:51 AM

@NguyenHoanh: Bạn gõ 1 đoạn text có font là VNI

Sau đó dùng lệnh cfu để chuyển đoạn text đó về unicode (kết quả là A) =>lisp chuyển hoàn hảo

Dùng lệnh cft để chuyển kết quả A về font TCVN thì sẽ thấy lỗi ở một số ký tự

bạn tiên đọc ở trang 1. Anh hoành đã tóm tắt các lỗi đã ý kiến. còn nhược điểm của font TCVN3 thì có lý do gì đó. nhưng lsp của anh hoành đã đạt đến 99% rồi. nói chung giải quyết rất nhiều thời gian cho 1 bộ bản vẽ đẹp. em cảm ơn anh hoành và các anh em trong diễn đàn vui tươi.


  • 0

#50 vanngeonhuxua

vanngeonhuxua

    biết vẽ pline

  • Members
  • PipPip
  • 62 Bài viết
Điểm đánh giá: 8 (bình thường)

Đã gửi 17 December 2015 - 08:13 PM

Không biết cài đặt trong máy tính có ảnh hưởng gì không, cùng 1 file cad mình dùng máy ở c.ty thì bị lỗi mang về test máy ở nhà thì lại ok?

Và cũng bị lỗi mấy chữ như bạn @congchivo.


  • 0

#51 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 18 December 2015 - 07:17 AM

Bạn dùng file lsp hay vlx?
  • 0

#52 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 18 December 2015 - 12:16 PM

mình load file VLX lên và chuyển mã cho chữ "rãnh" thì rất hoàn hảo.

Khi dùng hàm DetectFont cho chữ "rãnh" thì trả về nil

@Hoanh xem lại nó có vấn đề gì ởddaaay. Hy vọng thông qua nó sẽ giải quyết được các vấn đề còn tồn đọng lisp


  • 0

#53 vanngeonhuxua

vanngeonhuxua

    biết vẽ pline

  • Members
  • PipPip
  • 62 Bài viết
Điểm đánh giá: 8 (bình thường)

Đã gửi 18 December 2015 - 01:28 PM

Bạn dùng file lsp hay vlx?

Mình thử cả 2 bạn ah, ex: unicode chữ ư sang vni được Ý


  • 0

#54 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 18 December 2015 - 03:23 PM

Bạn có thể gửi file bị lỗi lên diễn đàn được không?
  • 0

#55 vanngeonhuxua

vanngeonhuxua

    biết vẽ pline

  • Members
  • PipPip
  • 62 Bài viết
Điểm đánh giá: 8 (bình thường)

Đã gửi 19 December 2015 - 08:25 AM

Đây bạn (vì 1 số lý do mình chỉ tách lấy mỗi text)  http://www.cadviet.c...121691_text.dwg


  • 0

#56 vanngeonhuxua

vanngeonhuxua

    biết vẽ pline

  • Members
  • PipPip
  • 62 Bài viết
Điểm đánh giá: 8 (bình thường)

Đã gửi 14 April 2016 - 01:19 PM

Mình chuyển ngôn ngữ máy về tiếng anh cad báo code như sau thì chạy ok. Mình nghỉ máy chạy đúng, máy chạy sai là do hai biến này.

DWGCODEPAGE = "ANSI_1252", SYSCODEPAGE = "ANSI_1252"

@Nguyen Hoanh

Bạn có thể thêm lựa chọn fontstyle cho font  mình cần chuyễn sang luôn không? (đỡ phải chọn lại text để set lại font)


  • 0

#57 klimssu

klimssu

    Chưa sử dụng CAD

  • Members
  • Pip
  • 3 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 13 July 2016 - 07:23 AM

Các bạn xem hộ mình file này với, không chuyển font được

http://www.cadviet.c...150781_file.dwg


  • 0

#58 sonnt06

sonnt06

    biết pan

  • Members
  • Pip
  • 7 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 28 July 2016 - 01:51 PM

Bác thớt cho em xin lại link tải file vlx với ạ, em cảm ơn ạ


  • 0

#59 ginger

ginger

    biết lệnh move

  • Advance Member
  • PipPipPip
  • 121 Bài viết
Điểm đánh giá: 10 (tàm tạm)

Đã gửi 28 July 2016 - 06:10 PM

Dưới đây là lisp convert các mã font thông dụng (unicode, tcvn, vni, xược) trong AutoCAD. Chương trình tự nhận dạng mã font hiện hành của đối tượng text.

Sau khi Appload xong:
Dùng lệnh cfu để chuyển font sang unicode
Dùng lệnh cft để chuyển font sang tcvn
Dùng lệnh cfv để chuyển font sang vni
Dùng lệnh cfx để chuyển font sang xược (/)
Dùng lệnh cfk để chuyển font sang không dấu
Dùng lệnh cf+ để chuyển font sang chữ hoa
Dùng lệnh cf- để chuyển font sang chữ thường

File lisp: Download Lisp chuyển font (để tham khảo)
File vlx: convertfont.vlx (download và sử dụng file này)

Câu hỏi thường gặp
Hỏi: Sau khi chuyển font, tôi vẫn chưa đọc được
Đáp: Sau khi chuyển font, bạn phải chỉnh cả style phù hợp thì mới đọc được (nếu style chưa phù hợp với mã font)

Hỏi: Text của tôi là TCVN (vì sử dụng font .vnArial hiển thị bình thường), nhưng không thể convert được sang bất cứ mã nào. Khi convert dường như Text không hề thay đổi.
Đáp: Có thể mã chữ của bạn được viết theo mã %%. Cách kiểm tra xem có phải mã này không bằng cách dùng lệnh LIST rồi chọn một text có tiếng việt. Nếu bạn thấy tại các vị trí ký tự nguyên âm là dấu %%, thì bạn phải "sửa" text trước khi dùng mã lệnh này. Cách sửa bạn xem ở đây: http://www.cadviet.c...tocad/?p=386883

Hỏi: Tại sao khi tôi chuyển từ TCVN sang các mã khác, các chữ có dấu bị hoa-thường không đúng.
Đáp: Vì font TCVN có nhược điểm là dùng chung mã chữ (char code) cho cả chữ hoa hoa và chữ thường thường. Vì vậy khi convert sang mã khác, sẽ không đúng ý.
Muốn được đúng, bạn cần convert sang mã khác, sau đó dùng lệnh cf+ hoặc cf-.

Lịch sử phát triển
2015-10-04: Phiên bản đầu tiên
2015-10-05:
- Hiệu chỉnh lỗi tên file
- Tính năng tự tìm mã font
- Tính năng loại bỏ dấu
2015-10-06:
- Sửa lỗi
- Tính năng chữ hoa / chữ thường
- Sửa / rút ngắn số lệnh
2015-11-23:
- Cải tiến tính năng tự tìm mã font
- Cải tiến tốc độ chạy chương trình
- Bổ sung tính năng xác định thời gian
2015-11-27:
- Upload file lisp thay vì download file.
____________________________________________

Bác Hoành ơi bác xem lại giúp links die rồi thanks anh 

 


  • 0

#60 hoatienii

hoatienii

    biết zoom

  • Members
  • Pip
  • 13 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 21 October 2016 - 11:21 AM

Nhờ mọi người giúp đỡ mình cái file này lỗi font gì? mình xin cảm ơn!

mình up file nó chạy lâu quá nên mình up lên media http://www.mediafire...5/lỗi_font.rar


  • 0