ISO 10646 support

ISO 10646 support

Can you advise me please on ISO 10646 support? I need to supply this in some software I am writing, and it's not something I have done before.

As a test  I have copied a routine fromMetcalf, Reid and Cohen's book (page 310). It's not complete, but I have tried to compile the following:

  subroutine japanese_date_stamp(string)
  integer, parameter:: ucs4 = selected_char_kind('ISO_10646')
  character(*,ucs4),intent(out) :: string
  integer :: val(8)


This won't compile. I get the error message for line 3:

This is an incorrect value for a kind type parameter in this context.

Is there an issue with ISO 10646 support in Intel Fortran (2012)?

With thanks


7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Intel Fortran does not currently support character sets other than ISO/IEC 646:1991 (ASCII).

Retired 12/31/2016

Are there any plans for this at Intel?

Not in the immediate future. We're investigating what needs to be done for other character sets. Multibyte character sets have a very broad impact across the product - it's not a trivial effort.

You can use integer arrays to hold such strings and use the provided "Multinational" support (MB_xxx routines) to manipulate them. We have customers doing this.

Retired 12/31/2016

Yes, I can see that this is a very large effort. Thanks for your help.


I think I remember faintly that the C/C++ compiler supports multinational character strings. Or is the support for C/C++ provided by the mentioned MB-xxx routines?

No, the C/C++ support is independent.

Retired 12/31/2016

Leave a Comment

Please sign in to add a comment. Not a member? Join today