منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
إعتماد خط من خارج الويندوز .. - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : إعتماد خط من خارج الويندوز .. (/showthread.php?tid=19191)



إعتماد خط من خارج الويندوز .. - abdulla2 - 11-02-17

عندي مشروع مكتمل  واحب نوع من الخطوط الذي لا يأتي مع الويندوز ..
هذا الخط يعجبني كثيرا ودائما اضعه في المشاريع ..
سواء في الفورم والليبلات والتكسات والكمبوبوكس والديت تايم والللست ووووو..
---
هل هناك طريقة فعالة ومضمونة ومجربة من أحدكم ان ارفق هذا الخط ..
في المشروع وارسله لصديق ويعمل معه دون مشاكل ..
---
اتمنى لو تكون الفكرة مجربه ..
---
وإن كانت الإجابة بنعم ..
إذا ماهو الكود او الطريقة لعمل ذلك ..
---
وفقكم الله ..


RE: إعتماد خط من خارج الويندوز .. - مساعدة - 11-02-17

السلام عليكم

ضع الفونت الخاص في الريسورس Resources وهذا الكود
كود :
Private privateFont As New Drawing.Text.PrivateFontCollection

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
   Dim font As Byte() = My.Resources.PrivateFont
   Dim fontBuffer As IntPtr = Runtime.InteropServices.Marshal.AllocCoTaskMem(font.Length)
   Runtime.InteropServices.Marshal.Copy(font, 0, fontBuffer, font.Length)
   privateFont.AddMemoryFont(fontBuffer, font.Length)
   Dim myPrivateFont As FontFamily = privateFont.Families(0)

   Me.Font = New Font(myPrivateFont, 12, FontStyle.Bold)

End Sub
هذا الكود يعمل بعد التشغيل.


أنت تريد أن يعمل هذا الفونت في مشاريعك على أجهزة لا يوجد فيها هذا الفونت،

في جهازك الخاص الذي تطور به البرامج ركب الفونت على جهازك واضبط الفورم عليه كما في السطر الأخير من الكود فترثه جميع الأدوات التي عليه وهو يكفي،
لتستطيع ضبط أحجام الأدوات أثناء التصميم بعد اعتماد الفونت والتأكد من الشكل المناسب لحجم الفونت وتغيير ما يلزم،

ولكن إذا أردت الفونت لأدوات محددة وليس الكل ضع الفونت للأدوات مثل طريقة السطر الأخير.


في النهاية جرب إزالة الفونت الخاص من جهازك وتشغيل المشروع لتتأكد من عمله على أجهزة ليس فيها هذا الفونت الخاص.


RE: إعتماد خط من خارج الويندوز .. - abdulla2 - 11-02-17

أتمنى أن تحل المشكلة شكرا لك .. اخي ..
وبارك الله فيك .. سأجرب الكود .. وأوافيك بالنتائج ..


RE: إعتماد خط من خارج الويندوز .. - abdulla2 - 13-02-17

للاسف لم تنجح العملية اخي "مساعدة"


RE: إعتماد خط من خارج الويندوز .. - مساعدة - 18-02-17

لقد نسخت الكود من أحد مشاريعي الخاصة وهو يعمل.

السؤال:
لم توضع كيف استخدمت الكود وما الخطوات التي اتبعتها بالتفصيل؟


RE: إعتماد خط من خارج الويندوز .. - abdulla2 - 19-02-17

وضعت الكود الذي تفضلت به  وضبطته بالفورم عندي كما في آخر سطر ..
ووضعت الخط المطلوب على الريسورس  ..
وجربت وحذفت الخط  من مشروعي وشغلت البرنامج ولكن لم تنجح العملية ..
اليست هذه الطريقة التي ..
أخبرتني بها ..
---
طيب ممكن تضع فكرتك بفورم وتضع اي خط ..
ونجرب لاني جربت كثيرا ولم تنجح معاي ..


RE: إعتماد خط من خارج الويندوز .. - مساعدة - 19-02-17

أعتذر إليك أستاذ abdulla2

فقد كان الكود فعلا لا يعمل، واكتشفت أن الخطوط مركبة في نظام التشغيل، مما أوهمني بأن الكوود يعمل.

وجدت هذا الموضوع في المنتدى وهو يفي بالغرض، ويبدو أنني سأستخدمه بدلا من الموجود لدي
[VB.NET] مجلد خطوط


RE: إعتماد خط من خارج الويندوز .. - abdulla2 - 19-02-17

أولاً شكراً لك .. للإهتمام ..

بالنسبة للطريقة الثانية كنت أستخدمها لكن ..
سنحتاج لكتابة كود لكل عنصر حتى يقبل الخط ويطبق عليه ..
ماذا لوكانت هناك عناصر كثيرة وفورمس كثيرة سنحتاج الى كود كبير ..
---
لهذا حبيت أبحث عن افكار جديدة ..
---
شكرا لك { مساعدة }

الآن انتبهت إستدغيت الخط للForm

فورثت كل العناصر الخط من الفورم الرئيسي ..

الحمدلله الطريقة تعمل شكرا للجميع وللأخ [ مساعدة ]