Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 12/20/21 in Posts

  1. There are a few choices when it comes to native processing and rendering of Unicode text in Windows applications. Namely, GDI, GDI+, UniScribe and DirectWrite. I have been doing some research in the process of updating/fixing the Unicode handling in SynEdit. It appears that the future lies with DirectWrite. Here are some reasons: WPF is based on DirectWrite Recent Microsoft applications, such as the Windows Terminal, use DirectWrite The Windows App SDK (new name of Project Reunion) is using a new cross-platform version of DirectWrite called DWriteCore, which is mostly compatible with DirectWrite. So presumably, switching to DWriteCore, if needed, would be easy. DirectWrite has many advantages including: Can play with GDI well, so you can mix the two. Supports color fonts Handles Unicode such as emojis reasonably well. Supports bi-directional text (e.g. mixing Arabic with English) Provides GPU acceleration. The downside is that it is fairly complex and there is not much Delphi Code that is using DirectWrite. Also the Delphi header translations have bugs and have not been updated for years (see [RSP-36642] CreateGdiCompatibleTextLayout is declared wrongly in Winapi.D2D1 - Embarcadero Technologies for instance). Further to the discussion in Unicode string - how element iterating? - RTL and Delphi Object Pascal - Delphi-PRAXiS [en] (delphipraxis.net), I have created a little demo which showcases rendering complex Unicode text with DirectWrite and also provides a Grapheme enumerator for Delphi strings also based on DirectWrite. Here is a screenshot. The ListBox shows the graphemes of the text. It is custom painted with DirectWrite. The Emoji consists of 7 unicode codepoints. See also fdwr/TextLayoutSampler: Utility to display text via multiple Windows API's simultaneously (D2D, DWrite, GDI, GDI+). (github.com) The source code of the project is attached. DirectWriteTest.zip
  2. Hi wuwuxin. Here are several short videos that demonstrate Image32's interactive capabilities... http://www.angusj.com/delphi/image32/Videos/img32.ctrls.mkv http://www.angusj.com/delphi/image32/Videos/layers301.mkv http://www.angusj.com/delphi/image32/Videos/layers201.mkv
  3. OpenSSL has released quarterly updates for the two supported branches, 3.0.1 and 1.1.1m, Windows binaries are available from http://wiki.overbyte.eu/wiki/index.php/ICS_Download or https://www.magsys.co.uk/delphi/magics.asp . OpenSSL 3.0.1 fixes a medium security risk relating to clients verifying X509 certificates from the server, a malicious server could potentially send a bad certificate that caused the client to hang or misbehave during verify. https://www.openssl.org/news/secadv/20211214.txt Now OpenSSL 3.0 has been available for three months, updated the main supported OpenSSL release to 3.0.1. The samples SslInternet directory now has both OpenSSL 1.1.1m and 3.0.1, ICS will try and load OpenSSL 3.0 first, then 1.1.1 if not found, unless the global variable GSSLEAY_DLL_IgnoreNew is set true before OpenSSL is loaded. Likewise GSSLEAY_DLL_IgnoreOld may be set true to ignore 1.1.1 and fail unless 3.0 is available. This is available from SVN and the overnight zip. Note the binaries are now digitally signed by 'Magenta Systems Ltd' instead of 'Open Source Developer, François PIETTE' due to the massive cost of renewing the open source certificate. Developers can always resign the DLLs with their own signing certificate to remove the Magenta name. Separately YuOpenSSL has released both these versions as commercial DCUs allowing applications to be used with OpenSSL without needing separate DLLs. Angus
  4. Dave Nottage

    Where I can find all implemented services documentation

    There may not be one, although this link (from the one you gave) might help: https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Mobile_Tutorials:_Mobile_Application_Development_(iOS_and_Android) It might be easier to ask here if there is an implementation of what you want to use, or scan the Delphi source.
  5. Dave Nottage

    3rd party Android app or Apple app stores

    Yes. They're called Custom Apps: https://developer.apple.com/custom-apps/ Yes, that would be. It seems they're hard to find.
  6. Rollo62

    I need FireMonkey demo projects

    Samples like that ? https://github.com/FMXExpress/Cross-Platform-Samples
  7. Uwe Raabe

    IDE being destroyed by new versions

    When you use it on an existing method to change its name.
  8. corneliusdavid

    Bluetooth LE only for paired Devices on Windows?

    Yes: https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_Classic_Bluetooth#Discovering_and_Pairing_with_Remote_Devices
  9. Well, with all these tons of framework scripts, ads, trackers, when just an empty Google page weights 500 kB... lower size seems not something they care about
  10. Lars Fosdal

    3rd party Android app or Apple app stores

    I disagree. Security is a major factor. Ref. Apple app store for macOS is not limited like iOS. You can distribute stand-alone installation packages for macOS, but not for iOS.
  11. Ok. I filed a bug report: https://quality.embarcadero.com/browse/RSP-36645
  12. For actual images, I usually try a google search that starts with "image creative commons" then a description of what I am looking for.
  13. Fr0sT.Brutal

    3rd party Android app or Apple app stores

    F-Droid but only opensource apps Xiaomi probably have something alike (heard they with Huawei and some other companies were going to run their common market but not sure they did).
  14. Vandrovnik

    Choice of Windows text rendering engines

    I would also vote for DirectWrite. When I switched to Direct2D and DirectWrite, I have used https://github.com/CMCHTPC/DelphiDX12 instead of Emba's units, which were buggy and did not contain "new" things (like printing support for Direct2D).
  15. Fr0sT.Brutal

    Wordpress to Firemonkey

    Open the site in native mobile browser maybe? Never realized what's the sense in converting every site on the Internet into an individual app.
  16. corneliusdavid

    Bluetooth LE only for paired Devices on Windows?

    Delphi has the TBeacon component that can be configured to listen to BLE devices without pairing: https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_Beacons
  17. No, there are many free or inexpensive places to get icons and packs of standard images for small and simple use. Here are some: Glyfx has been around a while. Icons8 is on GetIt. The Noun Project. All of these have free samples or restricted plans along with a variety of pricing plans for heavier use or higher resolution images.
  18. David Heffernan

    Opinions about Pascal vs C/C++ IDE

    There's never been any point in using anything other than C to write device drivers on Windows or Linux. It's not like you can take advantage of OOP in the context of a device driver.
  19. Sherlock

    JEDI VCS add-in for Delphi

    I loved JEDI VCS, but that ship has sailed so long ago. Just use this opportunity to jump in some fresh clean water.
  20. dummzeuch

    JEDI VCS add-in for Delphi

    Now would probably a good time to switch to something else. We did that about 15 years ago. Even if they find somebody that solves their problem this time, there is no guarantee that somebody will be able or willing to help out again. I just looked and could not find a link to the source code, it's not on sourceforge either, maybe it's on GitHub.
  21. Pictures or icons? Kind of a big difference.
×