Ik vraag me af of het mogelijk is om in mijn programma een lettertype (Hamilton-Light.otf) te gebruiken zonder dat hij geinstalleerd is op de pc? Het is namelijk niet mogelijk om lettertypes op de desbetreffende pc te installeren, maar ik wil hem wel graag gebruiken.
Oplossing lijkt me simpel.
Maak een applicatie met 1 label met dat lettertype , en probeer het uit.
Antwoord heb je direct(aannemende dat je weet dat er op die pc geen lettertype's geinstalleerd kunnen worden , is die machine waarschijnljk in de buurt en kun je het eens testen)
Maak een applicatie met 1 label met dat lettertype , en probeer het uit.
Antwoord heb je direct(aannemende dat je weet dat er op die pc geen lettertype's geinstalleerd kunnen worden , is die machine waarschijnljk in de buurt en kun je het eens testen)
www.degroot-it.nl
Nee dat heb ik al getest, ik vraag me juist af of er een andere oplossing hiervoor is, bijvoorbeeld het lettertype bestand in de zelfde folder als het programma te zetten, en op één of andere manier aanroepen in het programmadegroot schreef op vrijdag 14 november 2008 @ 18:10:
Oplossing lijkt me simpel.
Maak een applicatie met 1 label met dat lettertype , en probeer het uit.
Antwoord heb je direct(aannemende dat je weet dat er op die pc geen lettertype's geinstalleerd kunnen worden , is die machine waarschijnljk in de buurt en kun je het eens testen)
Maak een (tranparante) afbeelding met de tekst in het gewenste lettertype en zet dit in je applicatie. Dit werkt uiteraard alleen voor statische teksten.
Edit: dynmisch teksten zou je kunnen maken door zelf het label te renderen of samen te stellen door allemaal kleine afbeeldingen (1 per letter) naast elkaar te plaatsen.
Edit: dynmisch teksten zou je kunnen maken door zelf het label te renderen of samen te stellen door allemaal kleine afbeeldingen (1 per letter) naast elkaar te plaatsen.
[ Voor 36% gewijzigd door Kappie op 14-11-2008 18:17 ]
He does fit the profile perfectly. He's intelligent, but an under-achiever; alienated from his parents; has few friends. Classic case for recruitment by the Soviets.
Oke, maar het gaat erom dat er in een textvak een prijs wordt ingevoerd en dat die prijs wordt weergegeven in een printpreviewdiaglog waarin het moet weergegeven worden in Hamilton light. Moeilijk dus om dan met labels te werken. Maar bedankt voor het ideeKappie schreef op vrijdag 14 november 2008 @ 18:15:
Maak een (tranparante) afbeelding met de tekst in het gewenste lettertype en zet dit in je applicatie. Dit werkt uiteraard alleen voor statische teksten.
Edit: dynmisch teksten zou je kunnen maken door zelf het label te renderen of samen te stellen door allemaal kleine afbeeldingen (1 per letter) naast elkaar te plaatsen.
http://www.bobpowell.net/embedfonts.htm
VB voorbeeldje maar met een kleine moeite kun je dit wel vertalen naar c#
VB voorbeeldje maar met een kleine moeite kun je dit wel vertalen naar c#
Strava | :-( + ┌(^0^)┘= :-)
Oké dank je wel. Ik ben niet zo sterk in zowel VB als c# maar ik ga het voor elkaar proberen te krijgen.BastiaanN schreef op vrijdag 14 november 2008 @ 18:38:
http://www.bobpowell.net/embedfonts.htm
VB voorbeeldje maar met een kleine moeite kun je dit wel vertalen naar c#
Als je ff op het C# logotje klikt op die site staat de code er gewoon in C#BastiaanN schreef op vrijdag 14 november 2008 @ 18:38:
http://www.bobpowell.net/embedfonts.htm
VB voorbeeldje maar met een kleine moeite kun je dit wel vertalen naar c#
Dus....CMG schreef op vrijdag 14 november 2008 @ 22:20:
[...]
Als je ff op het C# logotje klikt op die site staat de code er gewoon in C#

Strava | :-( + ┌(^0^)┘= :-)
Verwijderd
Ehmmm... Ook al kun je een font embedden, dan wil dat nog niet zeggen dat 't mag.
Hamilton Light heeft een vrij duidelijke license ($31 per CPU), en ik denk niet dat ze blij zijn met embedded verspreiding... Omzetten naar een plaatje op een server die een geldige licentie heeft zal geen probleem zijn denk ik, maar zomaar een font embedden: zoek dan eerst even goed uit of 't mag...
Hamilton Light heeft een vrij duidelijke license ($31 per CPU), en ik denk niet dat ze blij zijn met embedded verspreiding... Omzetten naar een plaatje op een server die een geldige licentie heeft zal geen probleem zijn denk ik, maar zomaar een font embedden: zoek dan eerst even goed uit of 't mag...
Verwijderd schreef op zaterdag 15 november 2008 @ 22:22:
Ehmmm... Ook al kun je een font embedden, dan wil dat nog niet zeggen dat 't mag.
Hamilton Light heeft een vrij duidelijke license ($31 per CPU), en ik denk niet dat ze blij zijn met embedded verspreiding... Omzetten naar een plaatje op een server die een geldige licentie heeft zal geen probleem zijn denk ik, maar zomaar een font embedden: zoek dan eerst even goed uit of 't mag...
Embedden mag inderdaad niet eens tenzij je weer een (waarschijnlijk) duurdere license kooptEMBEDDING RESTRICTED (a) Except as may be specifically permitted herein, all embedding and transmission of the Font Software is prohibited.
..
Licensee is not permitted to distribute documents using or containing embedded copies of the Font Software on the internet or for other forms of distribution or downloading to unauthorized users. Such activities require the purchase of a license upgrade. If you wish to publish documents created by the embedding of the Font Software on the internet or wish to otherwise distribute or make such documents available for downloading to parties not licensed under this Agreement, you must contact Font Bureau to purchase the appropriate license upgrade.
[ Voor 30% gewijzigd door BastiaanN op 15-11-2008 22:56 ]
Strava | :-( + ┌(^0^)┘= :-)
Ik geprobeerd om van de bovenstaande website het embedden van de lettertype werkend te krijgen. Ik heb nu dit:BastiaanN schreef op vrijdag 14 november 2008 @ 18:38:
http://www.bobpowell.net/embedfonts.htm
VB voorbeeldje maar met een kleine moeite kun je dit wel vertalen naar c#
Ik krijg maar steeds de volgende error m.b.t deze line byte[] fontdata = new byte[fontStream.Length];PrivateFontCollection pfc = new PrivateFontCollection();
private void Form1_Load(object sender, EventArgs e)
{
Stream fontStream = this.GetType().Assembly.GetManifestResourceStream("embedfont.ironman.ttf");
byte[] fontdata = new byte[fontStream.Length];
fontStream.Read(fontdata, 0, (int)fontStream.Length);
fontStream.Close();
unsafe
{
fixed (byte* pFontData = fontdata)
{
pfc.AddMemoryFont((System.IntPtr)pFontData, fontdata.Length);
}
}
}
Object reference not set to an instance of an object.
Hoe kan ik dit oplossen?
Ik denk dat de volgende regel null als resultaat geeft:
En dan blijft fontStream null en krijg je een exception.
Klopt de bestandsnaam die je opgeeft op die regel?
code:
1
| Stream fontStream = this.GetType().Assembly.GetManifestResourceStream("embedfont.ironman.ttf"); |
En dan blijft fontStream null en krijg je een exception.
Klopt de bestandsnaam die je opgeeft op die regel?
¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸
Ja daar dacht ik ook aan, maar dit is gewoon correct, heb het lettertype toegevoegd aan de solutionTheCoolGamer schreef op zondag 23 november 2008 @ 16:26:
Ik denk dat de volgende regel null als resultaat geeft:
code:
1 Stream fontStream = this.GetType().Assembly.GetManifestResourceStream("embedfont.ironman.ttf");
En dan blijft fontStream null en krijg je een exception.
Klopt de bestandsnaam die je opgeeft op die regel?
In GetManifestResourceStream("embedfont.ironman.ttf"); moet je embedfont veranderen naar de naam van je project (hoofdlettergevoelig). Ook moet je bij het lettertype de Build Action op "Embedded Resource" zetten.
Maar is het niet makkelijker om gewoon de AddFontFile(String filename) methode te gebruiken van een instantie van PrivateFontCollection?
Maar is het niet makkelijker om gewoon de AddFontFile(String filename) methode te gebruiken van een instantie van PrivateFontCollection?
[ Voor 24% gewijzigd door CoolGamer op 23-11-2008 21:58 ]
¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸
Het is in ieder geval nogal basic debug-werk om te kijken of die stream null is of nietmike643 schreef op zondag 23 november 2008 @ 20:35:
[...]
Ja daar dacht ik ook aan, maar dit is gewoon correct, heb het lettertype toegevoegd aan de solution
Kater? Eerst water, de rest komt later
En anders kijk je even met GetManifestResourceNames welke resources er allemaal in je Assembly zitten.
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Je hebt nu al meer dan genoeg handvatten gekregen om je probleem om te lossen waardoor dit topic nu eigenlijk meer een 'debug mijn draadje' wordt. Ook een 'jamaar dit is gewoon correct' zonder ook daadwerkelijk te controleren of het klopt. Je bent al eerder gewezen op het ontbreken van wat eigen inzet en tot slot is het helemaal niet toegestaan om dit font te embedden.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Pagina: 1
Dit topic is gesloten.